一, 数据类型
解答: 最新的 ECMAScript 标准定义了 7 中数据类型
原始类型
Boolean , Null , Undefined , Number , String , Symbol(ES6 新增类型)
对象
Object
二, 显式类型转换
解答:
1. Number 函数
原始类型转换
数值: 转换后还是原来的值;
字符串: 如果可以被解析为数值, 则转换为相应的数值, 否则得到 NaN. 空字符串转为 0;
布尔值: true 转成 1,false 转成 0;
undefined: 转成 NaN;
null: 转成 0;
对象类型转换
先调用对象自身的 valueOf 方法, 如果该方法返回原始类型的值 (数值, 字符串和布尔值), 则直接对该值使用 Number 方法, 不再进行后续步骤.
如果 valueOf 方法返回复合类型的值, 再调用对象自身的 toString 方法, 如果 toString 方法返回原始类型的值, 则对该值使用 Number 方法, 不再进行后续步骤.
如果 toString 方法返回的是复合类型值, 则报错.
2. String 函数
原始类型转换
数值: 转为相应的字符串;
字符串: 转换后还是原来的值;
布尔值: true 转成 "true",false 转成 "false";
undefined: 转成 "undefined";
null: 转成 "null";
来源: http://www.qdfuns.com/article/12560/df0a62a0c599441f198a2a18e66908c2.html