この単純な変更が役立つさまざまなシナリオを見てみましょう。
変数は、宣言されていない場合、グローバル/ウィンドウ オブジェクトに追加されません。
デフォルトでは、宣言されていない変数が定義されると、その変数はグローバル/ウィンドウ オブジェクトに追加されます。 これでは、エラーが発生したり、見つけるのが難しいかもしれません。
このようなシナリオを回避するためには。 use strictを宣言することができます。 ストリクトモードでは、宣言されていない変数の使用を許可しません。
将来予備語として使われる可能性のある変数を宣言することはできません。
上記の例でわかるように、左側では単語の登録ができました。 左側では、変数を宣言し、ES6の予約語であるletという名前をつけることができました。
また、右側の例では、strict operation contextに変更することで、シンタックス エラーが発生しています。
関数や変数、関数の引数を削除することができなくなります。
delete 演算子はそれ自体、オブジェクトのプロパティを削除するために使用されます。
evalの使用が制限されてしまいます。
JSでは、JavaScriptの式を文字列形式で実行するためにeval関数が使われます。
同じコードをstrict modeで実装してみましょう。
div