Usestrict(厳格モード)
2920 ワード
なぜUse Strictを使うのか
JavaScript環境では、エラーをエラーに変換します.
javascriptの不正な構文を事前に検出できます.
(プロファイルの定義の書き込みを禁止し、getterプロファイルのみ、存在しないプロファイル、存在しない変数、および存在しないオブジェクトにエラーが発生します.)
UseStrictの適用
1.アプリケーションコードの前
"use strict"
let v = "use strict example";
2.関数への適用
function strict(){
'use strict';
function online() {return "hi my name is bohun"}
}
3.strictモードで許可されていない構文
:x=3という変数を入力すると、グローバルオブジェクトに新しいプロパティが作成され、厳格なモードで操作され、エラーが発生します.
'use strict'
x = 3 //index.js:3 Uncaught ReferenceError: x is not defined
'use strict'
x = 3
delete x //Delete of an unqualified identifier in strict mode
'use strict'
function code(x1 ,x1){}; //Duplicate parameter name not allowed in this context
'use strict'
let x = 010; //Octal literals are not allowed in strict mode.
"use strict";
var obj = {};
Object.defineProperty(obj, "x", {value:0, writable:false}); obj.x = 3.14;
//Cannot assign to read only property 'x' of object '#<Object>'
"use strict";
var obj = {get x() {return 0} }; obj.x = 3.14;
// TypeError: Cannot set property x of #<Object> which has only a getter
at index.js:2
"use strict";
let eval = 3.14;
let arguments = 3.14;
// Unexpected eval or arguments in strict mode
"use strict";
with (Math){x = cos(2)};
//Strict mode code may not include a with statement
"use strict";
eval ("var x = 2");
alert (x);
// x is not defined
ソース:1. https://www.w3schools.com/js/js_strict.asp
2. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Strict_mode
Reference
この問題について(Usestrict(厳格モード)), 我々は、より多くの情報をここで見つけました https://velog.io/@bohun-kim/Use-strict-엄격-모드テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol