嚴謹模式
JavaScript 有一個特別的選擇性模式來偵測我們所寫的程式碼,開啟它可以迫使 JavaScript Engine 更嚴謹的審視程式碼,它就是嚴謹模式 strict mode
只要在 JavaScript 中加上字串 use strict
,就會開啟嚴謹模式 strict mode
。在嚴謹模式下,會有許多更嚴謹的規範來避免開發上的疏失,如下範例:
如果先建立一個變數,但在之後賦值時拼錯了,一般情況下並不會有任何錯誤,只是前者會因為沒有值而為預設的 undefined
。
1 | var person; |
但如果加上 use strict
來開啟嚴謹模式,就會因為拼錯的 persom
沒有宣告而跳錯。
1 | ; |
嚴謹模式除了可以在整個檔案開啟,也可以單獨在函式作用域中開啟
1 | function logNewPerson() { |
嚴謹模式固然好用,但需要選擇性開啟的原因是每個 JavaScript Engine 對嚴謹模式所支援的規範並不相同,因此我們無法完全依賴它來開發。
另外有一種情況是如果我們在一支主要的 JavaScript 檔案開啟嚴謹模式,並透過它引入其它的 JavaScript 檔案,但其它的 JavaScript 檔案在開發時並沒有開啟且遵守嚴謹模式的規範,那麼這可能為你帶來一些預料之外的問題。
資料來源
MDN Mozilla Developer Network
Udemy-JavaScript: Understanding the Weird Parts