Re:Type Checking in JavaScript
by ghiculescu on Wednesday November 06, 2013 @08:00AM
(#6682441)
It's still a lot of code being run without real benefit. Use Typescript if you really want static types, write sufficient unit tests either way, and you don't need this.
Static types and unit tests don't solve or catch all problems. I'm thinking about event-driven messaging systems, which is pretty common in js; Static typing will not be of any help in that situation.
Sufficiently advanced type systems can enforce an enormous range of constraints. You can for example create a type for trees enforcing that the tree must be balanced; code that would unbalance a tree will just not compile.
You can use a different observer pattern sometimes that can be caught by static typing, like Signals
One could use this system for asserts though:
This could increase readability (because it documents the data type expectations) and would also break on some errors as soon as possible.