IT課程 JavaScript基礎 039_類型轉換
類型轉換是將一個數據類型轉換為另一個數據類型的過程。類型轉換可以是隱式的(由JavaScript引擎自動完成)或顯式的(通過編碼進行手動轉換)。
隱式類型轉換(類型強制轉換)
在一些操作中,JavaScript會自動進行類型轉換,以便進行運算或比較。
示例:
let num = 5 + "5";console.log(num); // 輸出 "55",數字和字符串相加,數字被轉換為字符串顯式類型轉換
字符串轉換
String() 函數: 將其他類型轉換為字符串。
示例:
let num = 123;let str1 = String(num); // String() 函數,可處理 `null` 或 `undefined`let str2 = num.toString(); // toString() 方法,無法處理 `null` 或 `undefined`let str3 = num + ""; // 通過與空字符串相加,得到隱式類型轉換的字符串console.log(str1); // 輸出 "123"console.log(str2); // 輸出 "123"console.log(str3); // 輸出 "123"數字轉換
Number() 函數: 將其他類型轉換為數字。
示例:
let str1 = "123";let str2 = "";let str3 = "aaa";let num1 = Number(str1);let num2 = Number(str2);let num3 = Number(str3);let num4 = +str1;console.log(num1); // 輸出 123console.log(num2); // 輸出 0console.log(num3); // 輸出 NaNconsole.log(num3); // 輸出 123,如果使用-號,輸出-123注意:如果字符串不能被解析為有效的數字,結果將是 NaN(Not a Number)。
parseInt() 和 parseFloat() 函數: 將 字符串 轉換為整數或浮點數。
示例:
let str = "42";let num = parseInt(str);console.log(num); // 輸出 42
let str = "3.14";let num = parseFloat(str);console.log(num); // 輸出 3.14布爾值轉換
Boolean() 函數: 將其他類型轉換為布爾值。
示例:
let value = "Hello";let bool1 = Boolean(value);let bool2 = !value;console.log(bool1); // 輸出 true,非空字符串轉換為 trueconsole.log(bool2); // 輸出 true,使用邏輯非對非布爾值隱式轉換(!值為false,再使用!!取正)注意:0、NaN、null、undefined、空字符串等(空的、沒有的、錯誤的)會轉換為 false,其它值、對象會轉換為 true。