動態型別 Dynamic typing
JavaScript 是弱型別,也說是動態的程式語言。
代表不必特別宣告變數的型別。程式在運作時,型別會自動轉換
。這也代表可以以不同的型別使用同一個變數
。
1 | var foo = 42; /* foo 目前是數字 */ |
顯性轉換與隱性轉換
雖說 JavaScript 沒有要預先定義型別,,但實際撰寫時仍會希望一開始先搞清楚變數型別,不然當無法確定型別的變數在做運算時會因為 JavaScript的規則導致問題產生。
顯性轉換(Explicit conversion)範例:
1 | var foo = 42; |
隱性轉換(Implicit conversion)範例:
1 | var num = 1; |
上述的隱性轉換範例說明了除非真的很清楚運算時的型別轉換規則,否則,在做運算時都必需要清楚知道變數的型別才行,這樣可以減低 Bug 產生。