原始(Primitive)类型(6种)
boolean、null、undefined、number、string、symbol
其中symbol为es6新增的数据类型
原始类型与对象类型(Object)的区别
原始类型存储的是值,对象类型存储的是地址(指针)
例如:
var a = 123;
var b = {'b':123};
console.log(a)
console.log(b)

类型转换
JS 中类型转换只有三种情况:转换为布尔值、转换为数字、转换为字符串
附图:

总结:
转Boolean:在条件判断时,除了 undefined, null, false, NaN, ‘’, 0, -0,其他所有值都转为 true,包括所有对象。
对象转原始类型:对象在转换类型的时候,会调用内置的 ToPrimitive函数。
算法逻辑为:如果已经是原始类型了,那就不需要转换了;调用 x.valueOf(),如果转换为基础类型,就返回转换的值;调用 x.toString(),如果转换为基础类型,就返回转换的值;如果都没有返回原始类型,就会报错。
本文深入解析JavaScript中的六种原始类型:boolean、null、undefined、number、string、symbol,以及对象类型的存储原理。对比原始类型与对象类型的区别,并介绍类型转换的三种常见场景:转布尔值、转数字、转字符串。
225

被折叠的 条评论
为什么被折叠?



