JavaScript - 厳密モード
2005 ワード
「厳格な使用」; JavaScript コードを「厳密モード」で実行する必要があることを定義します.
厳密モードの理由
Strict モードを使用すると、「安全な」JavaScript を簡単に記述できます.
Strict モードは、以前に受け入れられた「不適切な構文」を実際のエラーに変更します.
例として、通常の JavaScript では、変数名をタイプミスすると、新しいグローバル変数が作成されます.厳密モードでは、これによりエラーがスローされ、誤ってグローバル変数を作成することができなくなります.
通常の JavaScript では、書き込み不可のプロパティに値を割り当てても、開発者はエラー フィードバックを受け取りません.
厳密モードでは、書き込み不可のプロパティ、getter のみのプロパティ、存在しないプロパティ、存在しない変数、または存在しないオブジェクトへの割り当ては、エラーを表示します.
「use strict」ディレクティブは、ECMAScript バージョン 5 で新しく追加されました.これはステートメントではなく、以前のバージョンの JavaScript では無視されていた適切な式です.
これの目的は、コードが「厳密モード」でのみ実行されるべきであることを示すことです.
厳密モードでは、たとえば、宣言されていない変数を使用することはできません.
最新のブラウザはすべて、Internet Explorer 9 以前を除き、"use strict"をサポートしています: google chrome、firefox、opera.. など
Strict モードの宣言中:
Strict モードは、「use strict」を追加することで宣言されます.スクリプトまたは関数の先頭に.
これにはグローバル スコープの意味があり、コード内のすべての行が厳密モードで実行されます.
例えば:
別の同様の例:
オブジェクトを宣言せずに使用することは許可されていません.
変数 (またはオブジェクト) の削除は許可されていません.
同様に、
パラメータ名の重複は許可されていません
8 進数リテラルは使用できません
8 進数のエスケープ文字は使用できません
読み取り専用プロパティへの書き込みは許可されていません
ワード引数は変数として使用できません
with ステートメントは使用できません
厳密モードの理由
Strict モードを使用すると、「安全な」JavaScript を簡単に記述できます.
Strict モードは、以前に受け入れられた「不適切な構文」を実際のエラーに変更します.
例として、通常の JavaScript では、変数名をタイプミスすると、新しいグローバル変数が作成されます.厳密モードでは、これによりエラーがスローされ、誤ってグローバル変数を作成することができなくなります.
通常の JavaScript では、書き込み不可のプロパティに値を割り当てても、開発者はエラー フィードバックを受け取りません.
厳密モードでは、書き込み不可のプロパティ、getter のみのプロパティ、存在しないプロパティ、存在しない変数、または存在しないオブジェクトへの割り当ては、エラーを表示します.
「use strict」ディレクティブは、ECMAScript バージョン 5 で新しく追加されました.これはステートメントではなく、以前のバージョンの JavaScript では無視されていた適切な式です.
これの目的は、コードが「厳密モード」でのみ実行されるべきであることを示すことです.
厳密モードでは、たとえば、宣言されていない変数を使用することはできません.
最新のブラウザはすべて、Internet Explorer 9 以前を除き、"use strict"をサポートしています: google chrome、firefox、opera.. など
Strict モードの宣言中:
Strict モードは、「use strict」を追加することで宣言されます.スクリプトまたは関数の先頭に.
これにはグローバル スコープの意味があり、コード内のすべての行が厳密モードで実行されます.
例えば:
"use strict";
x = 3.14; // This will cause an error because x is not declared
別の同様の例:
"use strict";
myFunction();
function myFunction() {
y = 3.14; // This will also cause an error because y is not declared
}
x = 3.14; // This will not cause an error.
myFunction();
function myFunction() {
"use strict";
y = 3.14; // This will cause an error
}
オブジェクトを宣言せずに使用することは許可されていません.
"use strict";
x = {p1:10, p2:20};
// This will cause an error
変数 (またはオブジェクト) の削除は許可されていません.
"use strict";
let x = 3.14;
delete x; // This will cause an error
同様に、
パラメータ名の重複は許可されていません
8 進数リテラルは使用できません
8 進数のエスケープ文字は使用できません
読み取り専用プロパティへの書き込みは許可されていません
ワード引数は変数として使用できません
with ステートメントは使用できません
Reference
この問題について(JavaScript - 厳密モード), 我々は、より多くの情報をここで見つけました https://dev.to/jcblipux/javascript-strict-mode-1091テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol