在 JavaScript 中,提供了一種稱為“嚴格模式”的功能,該功能在 ECMAScript 5 (ES5) 中引入,可幫助開發人員避免常見的 JavaScript 陷阱。在本文中,我們將深入探討什麼是嚴格模式、如何啟用它以及它提供的好處。
原文出處:https://dev.to/accreditly/understanding-javascript-strict-mode-4e3j
嚴格模式是一種選擇受限的 JavaScript 變體的方式。在嚴格模式下,JavaScript 通過將它們更改為拋出錯誤來消除一些 JavaScript 靜默錯誤。它修復了使 JavaScript 引擎難以執行優化的錯誤,並禁止了一些可能在未來版本的 ECMAScript 中定義的語法。
要在 JavaScript 中啟用嚴格模式,您可以使用字串“use strict”。這可以針對整個腳本或在單個函數中完成。
對於整個腳本:
"use strict";
var v = "Hello, I'm in strict mode!";
對於單個函數:
function strictFunc() {
"use strict";
var v = "Hello, I'm in strict mode inside a function!";
}
"use strict"
指令只能在腳本或函數的開頭辨識。
嚴格模式以兩種方式提供幫助:
例如,變數必須用 var
、let
或 const
聲明。未聲明的變數將導致錯誤。
"use strict";
x = 3.14; // This will cause an error because x is not declared
"use strict";
var let = "Hello"; // This will cause an error because "let" is a reserved word in ES6
在嚴格模式下,在 eval() 語句中聲明的變數不會在周圍範圍內建立變數。
"use strict";
eval("var x = 10;");
// This will cause an error because x is not defined outside the scope of eval()
console.log(x);
在非嚴格模式下,this
將默認為全局物件,瀏覽器上下文中的window
。
"use strict";
function myFunction() {
console.log(this); // Will output: undefined
}
myFunction();
使用嚴格模式可以幫助您捕獲否則會被靜默忽略的錯誤。它還有助於防止您使用可能有問題的語法和做出低效的編碼決策。嚴格模式可以使您的 JavaScript 程式碼更加健壯和可維護,最好的做法是使用“use strict”指令啟動您的腳本。