3 ms·
> that's about a certain IDE not the language itself This stuff is only possible if you can analyze the code statically. With JS, which is running in a browse
by ahoge 13y ago
> that's about a certain IDE not the language itself
This stuff is only possible if you can analyze the code statically.
With JS, which is running in a browser, you don't know anything. You don't know what other kinds of scripts are running on that page. You don't know which globals these introduce or which built-ins they modify.
E.g.:
Math.round(5).length
You don't know if Number has a length property. You don't know if "round" takes a Number as argument. You don't know what this "round" function returns. You don't know if the "round" function exists. You don't know if a "Math" global exists.
For tools, this is a big problem.
In Dart, the analyzer knows about all these things. If the function is annotated, I'll get all the tooling and checks.
> Care to back that up?
No. You can't even imagine what good tooling is like. Naturally, you're blind to the friction which is caused by a lack of good tooling.