JS數據類型轉換規則
JS数据类型
基础类型
String
Boolean
Number
Symbol
Undefine
Null(typeof(null) === "object")
复合类型: 对象
Object(Array, Json)
显示类型转换
Number的原始类型转换规则
数值转换后还是数值
字符串如果可以解析为数值则为数值, 空字符串为0, 无法解析的字符串为NaN
布尔转数值, true转为1, false转为0
null转换为0
原始类型转换Number
Number的对象类型转换规则
传入实例M, 先调用M的
valueOf(), 如果返回值V为基本数据类型, 则直接使用Number(V), 求最终返回值
如果T不属于基本数据类型, 则调用M的toString(), 如果返回值S为基本数据类型, 则直接使用Number(S),求最后的结果, 如果S不属于基本数据类型, 则直接返回NaN
对象类型转换1
对象类型转换2
String的原始类型转换规则
数值(Number)转为相应的字符串
字符串(String) 转换后还是字符串
布尔值(Boolean)转换规则: true => 'true', false=> 'false'
undefine 转换为"undefine"
null 转换为'null'
String原始类型转换
String 的对象类型转换规则
与Number的对象转换规则类似, 区别是: 先调用对象的toString(), 然后再调用valueOf()
其实正常情况下, 对象调用自身的toString()后, 对象就可以转换为string基本类型, valueOf() 没有机会被调用, 但万事有个例, 如果我们重新定义了对象的toString()方法,使其返回非基本类型的值, 那样就有机会调用对象的valueOf()方法了
String对象类型转换规则
Boolean的原始类型转换 和 对象类型转换
undefined,null,NaN,'',-0,+0皆为false, 其余为true
隐式类型转换
四则运算+, -, *, /
隐式类型转换之四则运算
判断语句 if()
Native调用 console.log(), alert()
共同學習,寫下你的評論
評論加載中...
作者其他優質文章





