use strict
JavaScriptコード内で”use strict”宣言を使用すると、そのコードは「strictモード(厳格モード)」で実行されるようになります。
strictモードでは、より的確なエラーチェックが行われるため、これまでエラーにならなかったような曖昧な実装がエラー扱いになります。
非strictモードでは、eval("var x ;")の様に、eval関数内で定義された変数のスコープは、evalが含まれるスコープ(関数、またはグローバルスコープ)まで広がりますが、strictモードでは、eval内で定義された変数を周囲のスコープに広げません。