In fact there is more dynamic features in now, including accessing arbitrary fields through 'any' type and typeof expression. What's missing is mostly eval and prototype inheritance (instead we use classes). There's also a precise GC now.
I wonder if this could be retargeted to retro CPUs like the 6502 and Z80? Seems the assumption of 32-bit integers might make things less efficient though. (EDIT: never mind, it does support smaller int types!)
https://makecode.com/language
"Microsoft MakeCode: from C++ to TypeScript and Blockly (and Back)"
https://www.youtube.com/watch?v=tGhhV2kfJ-w