Type Conversions

運算符號和函式會自動把值轉換成正確的類型,像是 alert 把值轉換成 string,運算符號把值轉換成數字、有些情況我們需要把值轉換成需要的類型。

ToString

let value = true;
alert(typeof value); // boolean

value = String(value); // now value is a string "true"
alert(typeof value); // string

ToNumber

運算是跟函式都可以轉換成數字。

alert( "6" / "2" ); // 3, operator strings are converted to numbers

let str = "123";
alert(typeof str); // string

let num = Number(str); // becomes a number 123

alert(typeof num); // number

如果轉換的值不是數字,會顯示 NaN

let age = Number("an arbitrary string instead of a number");

alert(age); // NaN, conversion failed

轉換數字的規則:

+ 運算符號是例外,如果其中一個值是 string 會變成字串相加,而不是轉換成數字。

alert( 1 + '2' ); // '12' (string to the right)
alert( '1' + 2 ); // '12' (string to the left)

ToBoolean

轉換布林值規則:

alert( Boolean("0") ); // true
alert( Boolean(" ") ); // spaces, also true (any non-empty string is true)

Last updated