6 ms·
Yes, it is called static analysis http://en.wikipedia.org/wiki/Static_program_analysis http://en.wikipedia.org/wiki/Static_program_analysis. It exists for Java
by glibgil 12y ago
Yes, it is called static analysis http://en.wikipedia.org/wiki/Static_program_analysis http://en.wikipedia.org/wiki/Static_program_analysis.
It exists for JavaScript:
https://github.com/sinelaw/infernu https://github.com/sinelaw/infernu
https://github.com/facebook/flow https://github.com/facebook/flow
- reverius42 12y agoI don't see how static analysis helps the switch-case on strings. It might, if JS had a more expressive (static) type system. An enum type, perhaps?
- gnud 12y agoI usually do something like var Constants = { valueA: function valueA() {}, valueB: function valueB() {} };
- Mister_Snuggles 12y agoWhy do you use empty functions instead of a number or a string?
- madeofpalk 12y agoMy guess is than a function will always be a unique object, rather than if it was a number or string, there's a chance you use the same value twice.
- anewhnaccount 12y agoIn ES6 you can use Symbol.
- glibgil 12y agoIf you have static analysis then it makes sense to use types instead of strings. If you don't have static analysis then there isn't much motivation which is why you see strings everywhere in unanalyzed JavaScript.
- duaneb 12y agoNeither of those implement a type where you can enumerate the values exhaustively.
- mlvljr 12y agoBad fanboy! BAD!