JavaScript是一種弱類型語言,也就是說變量可以根據需要進行自動類型轉換。然而,有時候我們需要進行強制類型轉換,以確保代碼的正確執行。JavaScript中有三種常見的強制類型轉換:Number、String、Boolean,下面我們分別來看。
一、Number型強制類型轉換
var a = "123"; console.log(Number(a)); // 123 var b = "hello"; console.log(Number(b)); // NaN var c = true; console.log(Number(c)); // 1 var d = false; console.log(Number(d)); // 0
以上代碼中,我們使用了Number()函數,將字符串、布爾類型轉換為Number類型。當字符串中的內容符合數字格式時,會返回一個數字;當字符串中的內容不符合數字格式時,會返回NaN。布爾類型則會返回0或1。
二、String型強制類型轉換
var a = 123; console.log(String(a)); // "123" var b = true; console.log(String(b)); // "true" var c = false; console.log(String(c)); // "false"
以上代碼中,我們使用了String()函數,將數字、布爾類型轉換為字符串。數字會轉換為對應的字符串;布爾值會轉換為"true"或"false"。
三、Boolean型強制類型轉換
console.log(Boolean("")); // false console.log(Boolean(0)); // false console.log(Boolean(-0)); // false console.log(Boolean(NaN)); // false console.log(Boolean(null)); // false console.log(Boolean(undefined)); // false console.log(Boolean("hello")); // true console.log(Boolean(123)); // true console.log(Boolean({name:"John"})); // true console.log(Boolean([])); // true
以上代碼中,我們使用了Boolean()函數,將其他類型轉換為布爾。當轉換的值為undefined、null、空字符串、0、NaN、-0時,返回false;其他值都返回true。
強制類型轉換是JavaScript中的常見操作,但也需要注意一些細節。例如NaN即不等于任何值(包括NaN本身);使用"+"操作符連接字符串時,數字會被轉換成字符串。希望大家在編寫JavaScript代碼時,能夠注意這些細節,避免出現意外的問題。