Hacker News new | ask | show | jobs
by realharo 3322 days ago
TypeScript has structural typing, that is a HUGE difference.
2 comments

Yes, that would be its biggest differentiator.

Scala has it too indeed, but it's not the default mode and feels awkward, also has known limitations.

The nice thing with typescript is that structural typing makes sense for 90% of the use cases, and for the remaining 10%, you can very easily simulate nominal typing by adding a field like so:

interface Robot { __Robot: true }

>interface Robot { __Robot: true }

I would much prefer if they just added a new keyword to the language, instead of hacks like this.

https://github.com/Microsoft/TypeScript/issues/202

Ya, I'm not away of any other popular OO language that goes this route. The implications of structural sub-typing are huge, though I guess many programmers wouldn't be able to call it out.
Scala has it. With Shapeless, you can go all crazy with it.
Uhh, JavaScript (via FlowType)?