常用的原生函数有10种,也叫内建函数.:

    • String
    • Number
    • Boolean
    • Array
    • Function
    • Date
    • RegExp
    • Error
    • Object
    • Symbol

    所有类型都包含一个内部属性[[Class]],这个属性只能通过Object.prototype.toString
    查看.

    • typeof返回’object’的对象与其内建原生函数相对应

      1. Object.prototype.toString.call([1,2,3]);//"[object Array]"
      2. Object.prototype.toString.call({});//"[object Object]"
    • 基本数据类型

    Null与Undefined这样的构造函数不存在但内部[[Class]]仍然是”Null”与”Undefined”

    1. Object.prototype.toString.call(null); //"[object Null]"
    2. Object.prototype.toString.call(undefined); //"[object Undefined]"

    其他基本类型会被各自的封装对象包装,所以内部[[Class]]为’String’,’Number’,’Boolean’

    1. Object.prototype.toString.call('abc'); //"[object String]"
    2. Object.prototype.toString.call(123); //"[object Number]"
    3. Object.prototype.toString.call(true); //"[object Boolean]"

    :::info 总结 :

    1. 记住内建函数
    2. 记住不同数据类型的[[Class]] :::