常用的原生函数有10种,也叫内建函数.:
- String
- Number
- Boolean
- Array
- Function
- Date
- RegExp
- Error
- Object
- Symbol
所有类型都包含一个内部属性[[Class]],这个属性只能通过Object.prototype.toString
查看.
typeof返回’object’的对象与其内建原生函数相对应
Object.prototype.toString.call([1,2,3]);//"[object Array]"
Object.prototype.toString.call({});//"[object Object]"
基本数据类型
Null与Undefined这样的构造函数不存在但内部[[Class]]仍然是”Null”与”Undefined”
Object.prototype.toString.call(null); //"[object Null]"
Object.prototype.toString.call(undefined); //"[object Undefined]"
其他基本类型会被各自的封装对象包装,所以内部[[Class]]为’String’,’Number’,’Boolean’
Object.prototype.toString.call('abc'); //"[object String]"
Object.prototype.toString.call(123); //"[object Number]"
Object.prototype.toString.call(true); //"[object Boolean]"
:::info 总结 :
- 记住内建函数
- 记住不同数据类型的[[Class]] :::