整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ
[JS奇怪的世界]No.60 嚴謹模式
前言
經過前面幾個章節的理解,其實我們可以知道 JavaScript 的自由性是很高的,但是如果你今天希望 JavaScript 比較嚴格的話,這也是可以的,只需要透過一個方式就可以讓 JavaScript 進入嚴格模式。
嚴謹模式 (strict mode)
一般來講使用嚴謹模式絕對會有一定性的陣痛期,因為人難免會習慣自由,但是使用嚴謹模式主要的目的是為了解決一些不必要的奇怪問題,所以該如何替自己的 JavaScript 開啟嚴謹模式?開啟後又有何差異,就讓我們由範例來瞭解吧。
以下範例是非嚴謹模式,一般來講打錯字是我們最常做的事情,那如果今天這樣子呢?會跳錯嗎?
1 | |

不會,它並不會犯錯,原因為什麼?因為 JavaScript 的自由關係,在語法解析器它在辨別 persom 時,會找看看執行環境下有沒有一下叫 persom,若沒有它就會自作主張幫我們補上 var,那通常這會導致一些 debug 上的問題。
那該怎麼避免這種狀況?這時候就要使用嚴謹模式,嚴謹模式的啟用方式非常簡單,只需要在最前面寫上一段 "use strict" 即可,這時候我們再看看範例會變怎樣。
1 | |

這時候我們會得到 「Persom is not defined uncaught reference error」。
這邊有一個細節要注意 "use strict" 一定要放在所有程式碼最前面,否則會沒有效果。
1 | |

當然也可以針對特定得執行環境下有嚴格模式。
1 | |

使用 "use strict"; 是一個很好的方式,可以幫助我們減少一些不必要的錯誤,但通常也會建議搭配一些 JavaScript 風格管理(ESlint),或是改寫 TypeScript。
那因為自己還沒有學習 TypeScript,所以沒辦法提出範例作解講,但是我將參考資料放在這裡。
另外補充如果想再多了解 嚴謹模式 (strict mode) 的話,這邊我也提供相關資料。
圖源
整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ