【ES6】ES6的重要的13种新特性之对象字面量扩展语法

解决问题:ES2015之前对象字面量只能用于表达对象。

1.函数类属性的省略语法

使方法属性省略function

1
2
3
4
5
6
7
8
const obj = {
foo: function(){
return 'foo';
},
bar() {
return 'bar';
}
}

default

2.支持proto注入

可以得到更高的对象操作权限。

可以直接向一个对象字面量注入proto ,使其直接成为指定类的一个实例,而无需创建另一个类来实现继承。

3.可动态计算的属性名

使用一个表达式来表达一个属性名。

1
2
3
4
const prefix = 'es2015';
const obj = {
[prefix + 'enhancedObject']: 'foobar';
}

4.将属性名定义省略

有时候需要将一些被定义的变量/常量作为其他对象字面量的属性值进行返回或传入操作。很多情况下这些变量名和属性名都是相同的。

1
2
3
4
5
6
const foo = 123;
const bar = () => foo;
const obj = {
foo,
bar
}

附代码地址:https://github.com/JoseyDon/ES6-demo