- diallows global variables
- silent failures throw error (like NaN = 5)
- throw error when attempt delete undeleteable props
- throw error if all obj prop name not unique
- throw error if function param names not unique
- forbid octal syntax
- for
with
keyword eval
not introduce new vars- forbid delete plain names
delete x
- forbid
arguments.callee