js中的symbol属于什么类型

  1. 基本数据类型(简单数据类型)

undefined null boolean number string

  1. 复杂数据类型是object

问题

1:object属于引用数据类型吗?
2:我们常说的undefined null boolean number string object symbol 是语言类型吗?
3:symbol属于基本数据类型还是复杂数据类型?
回复
阅读 3.6k
2 个回答
  1. object 属于引用类型
  2. JS中基本数据类型:undefined, null, boolean, number, string, symbol (这些说的是数据类型)
  3. symbol 属于基本数据类型

ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。
例子:

    let teacher = {
        [Symbol('name')]: '忠彬老师',
        [Symbol('description')]: '讲课讲得好'
    }
    let dabinge = {
        [Symbol('name')]: '大彬哥',
        [Symbol('description')]: '帅'
    }
    let target = {};
    Object.assign(target, teacher, dabinge);
    console.log(target);

这个在书写插件和库的时候很重要,因为经常涉及到选项或者参数合并,symbal很好的解决了这个问题。
解决问题的场景:

    let teacher = {
        name: '忠彬老师',
        description: '讲课讲得好'
    }
    let dabinge = {
        name: '大彬哥',
        description: '帅'
    }
    let target = {};
    //结合两个对象复制到一个新对象
    Object.assign(target, teacher, dabinge);
    console.log(target);

宣传栏