[JS奇怪的世界]No.17 觀念小叮嚀:強制轉型

強制轉型

強制轉型

強制轉型的意思是什麼?就是將原本的型別轉換成另一種,例如 String 變成 Boolean。

在 JavaScript 世界中是非常常見的事情,前面有講過因為 JavaScript 是一個動態型別,所以我們試著用程式來範例講解會更妥當 ↓

如果今天傳入的是兩種不同的型別並且做加法的動作會發生什麼事情?

1
2
var a = 1 + 'world';
console.log(a);

加法

我們可以看到 JavaScript 將 1 強制轉換成一個字串,所以實際程式碼是這樣子 ↓

1
2
var a = '1' + 'world';
console.log(a);

而這狀況也是 JavaScipt 的動態型別所搞的鬼,所以就算你這樣寫也是會得到一樣的結果 ↓

1
2
var a = 1 + '2';
console.log(a);

這一切是因為 JavaScript 雞婆轉換我們的值。

圖源

JavaScript 全攻略:克服 JS 奇怪的部分

0%