来聊聊ES6(四)

对象字面量扩展语法

在ES2015之前的ECMAScript标准中,对象字面量只是一种用于表达对象的语法,只具有表达的功能,并不能起到更大的作用。

函数类属性的省略语法

由于ES2015引入了类机制(class),普通的对象字面量也吸收了其中一些语法糖。这可以让方法属性省略function,因此可以以一种更加直观的语法来表达。

有了这个语法糖,对象字面量中的方法类属性更像一个方法,而不只是一个以函数为值的属性。

支持proto注入

现在假设我们要为一个应用创建一个中心控制器,用于管理某一类数据或系统状态。如果只是为了一个单一的实例而创建一个类,就显得太过冗余。这里我们看如何用proto这个特性来实现。

动态计算的属性名

在ES2015标准对于对象字面量的处理中,引入了一个新的语法,这个语法允许我们直接使用一个表达式来表达一个属性名。其实在ES2015之前,ECMAScript中就有类似的语法。但并不能用于对象字面量中。

而下面的方式使用时没有办法访问到attName这个变量的。

在ES6中,把属性名用[ ]括起来,则括号中就可以引用提前定义的变量。

将属性名定义省略

在某些场景中,我们需要将一些已经被定义的变量或常量作为其他对象字面量的属性值进行返回或传入操作。然而在很多情况下,这些变量名和属性名都是相同的,这在ES2015中也得到了新的语法糖支持。

这个特性在某些场景下显得十分实用,比如在VUE.js中,比如我们要为ViewModel实例传入一些独立的组件以供使用,如果ES2015中没有这个语法糖,代码就显得十分冗余

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171226G0V0CR00?refer=cp_1026

扫码关注云+社区