It was just about fine if you were doing very small projects but quickly got very hairy, and their compiler was full of bugs.
You do need to be disciplined, however, being able to simply start extending random instances of other types proves remarkably useful when developing.
I'm not sure such a thing would work well on a team.
Has a brief overview in its README if anyone wants to check it out: https://github.com/ldyeax/MazeEngine
I have more expansive ideas for it but for now the main demo is this silly museum. https://jimm.horse/maremuseum
It's a fun experiment in seeing what JS can do, it's cool having it run natively on the web, and annotations get you a lot of the way there, but in a context like Unity I'd never pick it over C#. Typescript might be alright but at that point why bother? C# has anonymous types, tuples, and such today too.