前端基礎筆記 強制型別轉換

2021-09-29 12:25:59 字數 1320 閱讀 6745

// 強制型別轉換 number

// 1.1 如果字串只包含數字,那麼將其轉換為相應的十進位制數字

console.log(number('2'));//2

console.log(number('002'));//2

console.log(number('002.2'));

console.log(number('0x20'));//32

// 1.2對於null,undefined,nan,進行強制型別轉換時有特定的規則

// 注意:雖然null強制轉換為數字時是0,但是進行隱式型別轉換時不一樣,有特定的規則

console.log(number(null));//0

console.log(null==0);//false

// nan本來就是number資料型別,所以就是nan,而undefined是還未賦值的,所以也是nan

console.log(number(undefined));//nan

console.log(number(nan));//nan

// 1.3 對於複雜資料型別先轉換為字串,再嘗試轉為數字

console.log(number());//0

console.log(number([1,2]));//nan,因為[1,2]先轉為string型別是'1,2',該字串沒辦法轉為數字

console.log(number({}));//nan,因為{}轉為字串是object object,這個字串沒辦法轉為數字

// 2. 強制型別轉換string(相當於呼叫了 xx.valueof().tostring())

console.log(string(1));//'1'

console.log(string()==='');//'',true,空陣列被強制轉換為''空字串

console.log(string({}));//object object

console.log(string(undefined));//undefined

console.log(string(null));//null

console.log(string(nan));//nan

// 3. 強制型別轉換 boolean

console.log(boolean(1));//true

// 強制轉換為boolean,除了'',0,nan,undefined,null,false之外,其他的都會轉為true

console.log(boolean());//true

console.log(boolean({}));//true

JS基礎 強制型別轉換

強制型別轉換 將乙個資料型別強制轉換為其他的資料型別 型別轉換主要指,將其他資料型別,轉換為 string number boolean 1.將其他資料型別轉換為string 返回值是強轉後型別的值 1.tostring 返回值是強轉後型別的值 null,undefined會報錯 var a 123...

強制型別轉換

關於強制型別轉換的問題,很多書都討論過,寫的最詳細的是c 之父的 c 的設計和演化 最好的解決方法就是不要使用c風格的強制型別轉換,而是使用標準c 的型別轉換符 static cast,dynamic cast。標準c 中有四個型別轉換符 static cast dynamic cast reint...

強制型別轉換

顯式轉換也稱為強制型別轉換 cast 包括以下列名字命名的強制型別轉換操作符 static cast dynamic cast const cast 和 reinterpret cast。命名的強制型別轉換符號的一般形式如下 cast name expression 其中 cast name 為 s...