JavaScriptの厳密モードとは何ですか?
厳密モード
厳密モードは、ECMAScript5によってjavascriptに導入されました。厳密モードを使用すると、JavaScriptのサイレントエラーはエラーをスローするため、簡単に検出できます。これにより、JavaScriptのデバッグが非常に簡単になり、開発者が不要なミスを回避するのに役立ちます。
厳密モードでは、宣言されていない変数が検出されると例外がスローされるため、メモリリークが大幅に削減されます。 strictモードが必要なコードの前に「usestrict」を使用すると、strictモードを有効にできます。
次の例では、2つの変数が使用されました。1つは関数の外部にあり、もう1つは関数の内部にあります。関数の外部で使用される変数は宣言されませんが、関数の内部で宣言される変数はvarキーワードを使用して宣言されます。関数内でストリクトモードを使用してもエラーは発生しません。これは、変数が同時に宣言されると同時に、ストリクトモードが使用されていないため、関数外の変数の値が表示されるためです。
例-1
<html> <body> <script> myString1 = "non-strict mode will allow undeclared variables" document.write(myString1); document.write("</br>"); function myFun(){ "use strict" var myString2 = "Strict mode will allow declared variables" document.write(myString2); } myFun(); </script> </body> </html>
出力non-strict mode will allow undeclared variables
Strict mode will allow declared variables
次の例では、変数は関数内で宣言されておらず、strictモードが適用されています。したがって、その変数内の値は実行されず、エラーがスローされます。ブラウザコンソールでエラーを見つけることができます。
例-2
<html> <body> <script> myString1 = "non-strict mode will allow undeclared variables" document.write(myString1); document.write("</br>"); function myFun(){ "use strict" myString2 = "Strict mode will allow declared variables" document.write(myString2); } myFun(); </script> </body> </html>
出力non-strict mode will allow undeclared variables
-
JavaScriptで厳密モードを有効にする方法は?
厳密モードは、ES5で導入された機能であり、プログラムまたは関数を「厳密」モードにすることができます。 この厳密なコンテキストにより、特定のアクションが実行されなくなり、より多くの例外がスローされます(通常、ユーザーにより多くの情報が提供されます)。ストリクトモードのいくつかの特定の機能- 宣言されていないが直接割り当てられている変数は失敗します。 foo=bar;を割り当てようとしました。 「foo」が定義されていない場合は失敗します。 厳密モードではevalを使用できません 関数内で引数配列を再割り当てすることはできません withステートメントの使用は許可されて
-
JavaScriptの「厳密モード」の特徴は何ですか?
厳密モードは、ES5で導入された機能であり、プログラムまたは関数を「厳密」モードにすることができます。 この厳密なコンテキストにより、特定のアクションが実行されなくなり、より多くの例外がスローされます(通常、ユーザーにより多くの情報が提供されます)。ストリクトモードのいくつかの特定の機能- 宣言されていないが直接割り当てられている変数は失敗します。 foo=bar;を割り当てようとしました。 「foo」が定義されていない場合は失敗します。 厳密モードではevalを使用できません 関数内で引数配列を再割り当てすることはできません withステートメントの使用は許可されて