Microsoft did something similar before (without a vm) called Static Typescript : https://www.microsoft.com/en-us/research/publication/static-...
We tried to make DeviceScript closer in semantics to real JS (prototypes etc) and easier to port. You pay with performance.
Microsoft did something similar before (without a vm) called Static Typescript : https://www.microsoft.com/en-us/research/publication/static-...