Things to disallow:
- == operator (type coercion)
- function declarations (allow expressions only)?
- block scope always - disallow var??
(http://ejohn.org/blog/javascript-as-a-first-language/)
- arguments (not an array, not needed anymore with rest-params?)
- modifying Object.prototype, Array.prototype (but allow non-enumerable properties)
(http://matt.might.net/articles/javascript-warts/)
- 'this'... can it be fixed?
- remove it, require it to be declared as part of function params (special syntax)
- with arrow functions, is it worth fixing?
Things to disallow:
(http://ejohn.org/blog/javascript-as-a-first-language/)
(http://matt.might.net/articles/javascript-warts/)