While this would work for the default values, this would require me to pass in a Dimensions class object and I wouldn't have the named parameters of a typedef (new MyGuiObj({x:500, y:40});).
For now, I'll just create a static function somewhere to set default values to my typedefs to keep the above functionality, which is a higher priority for my project.
I might just be too used to C#'s named parameters. I wish the recent feature request for it wasn't shut down as quickly as it was - typedefs just aren't as versatile.