ES6对象的扩展

Posted xvivx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6对象的扩展相关的知识,希望对你有一定的参考价值。

对象的扩展

对象类别

  • 普通对象: 拥有JS对象所有默认的内部行为;
  • 奇异对象: 其内部行为在某些方面别于默认行为;
  • 标准对象: 在ES6中被定义的对象, 如 Date, 标准对象既可以是 普通对象, 也可以是 奇异对象;
  • 内置对象: 脚本开始运行时由JS运行环境提供的对象, 所有的标准对象都是内置对象;

对象属性初始化器速记法

对于对象属性名称与其对应的属性值和本地变量重复的情况下可以使用 属性初始化器速记法 简写, 如:

const jsBook = function(author, year) {
    return { author, year };    // 属性初始化器速记法
};

方法简写(concise method)

可以省略关键字 function, 不多说, 直接看例子:

const jsBook = {
    <!-- 方法简写 -->
    read() {
        // write hello world
    }
};

使用这种方式定义的对象方法名字就是属性名, 而ES5的写法是可以在 function 关键字后指定一个名称做为该方法的名称, 还有一点区别是简写的方法可以使用 super, 非简写的不能

需计算属性名

允许属性名包含在变量中, 如:

const hash = Math.random().toString(36).slice(2);
const jsBook = {
    [hash]: hash    // 在使用计算属性名时无法使用属性初始化器速记法表示对象
}

以上是关于ES6对象的扩展的主要内容,如果未能解决你的问题,请参考以下文章

ES6 对象的扩展

ES6 - 对象扩展(增强字面量)

es6~扩展运算符后续

es6数组的扩展

ES6正则扩展

函数的扩展--ES6