一、資料型別:
原始資料型別:
Boolean/ Null / Undefined / Number / String / Symbol(ES6中新增資料型別
)
物件:
Object二、型別轉換
)顯示型別轉換:
函式
函式
函式
2
) 顯示型別轉換
Number
函式
當原始型別轉換時,分別對應以下情況:
數值:轉換後還是原來的值。
字串:如果可以被解析為數值,則轉換為相應的數值,否則得到
NaN,空字串轉換為
0
布林值:
true轉成
1
,
false
轉成
0
轉成
NaN
: 轉成
0
當為物件型別轉換時,遵循以下方式:
先呼叫物件自身的
valueOf
方法,如果改方法返回原始型別的值(數值
/
字串
/boolean
等),則直接對該值使用
Number
方法,不在進行後續步驟。
b.
如果
valueOf
方法返回複合型別的值,在呼叫物件自身的
toString
方法,如果
toString
方法返回原始型別的值,則對該值使用
Number
方法,不在進行後續步驟。
如果
toString
方法返回的時複合型別的值,則報錯
.
如例:
var a = {b: 1}; Number(a); // 輸出
NaN
,按照如上步驟規則,則
首先
a.valueOf() 輸出
{b: 1},
返回不是原始資料型別,則呼叫
toString
方法,返回
“[object Object]”,
返回字串型別,
Number('[object, object]')
則輸出
NaN
。
)顯示型別轉換
String
函式
當轉換為原始型別資料時,按照如下規則:
數值:轉換為相應的字串
字串:
轉換後還是原來的值
布林值:
true轉換為
‘true’
,
false
轉換為
‘false’
: 轉換為
“undefined”
null
: 轉換為
‘null’
當轉換型別為物件型別時,按照如下規則轉換:
先呼叫
toString
方法,如果
toString
返回的時原始資料型別,則對該值使用
toString
方法,不在進行以下步驟。
如果
toString
方法返回對是複合型別的值,在呼叫
valueOf
方法,如果
valueOf
方法返回的是原始資料型別的值,則對該值使用
String
方法,不在進行以下步驟。
如果
valueOf
方法返回的是複合型別的值,則報錯。
)顯示型別轉換
Boolean
函式
當轉換資料為原始資料型別是,按照如下規則轉換
當為
null、
undifined
、
NaN
、
0
、
‘’,
轉換為
false
,其他轉換都為
true
)隱式型別轉換,如四則運算
/
判斷語句
/Native
呼叫,轉換與以上轉換規則相同
.
想要學習前端開發的同學,可以加群:
543627393 學習哦!