方法的定义
该新特性属于 ECMAScript 2015(ES6)规范,在使用时请注意浏览器兼容性。
从ECMAScript 2015开始,在对象初始器中引入了一种更简短定义方法的语法,这是一种把方法名直接赋给函数的简写方式。
语法
var obj = { property( parameters… ) {}, *generator( parameters… ) {}, async property( parameters… ) {}, async* generator( parameters… ) {}, // with computed keys: [property]( parameters… ) {}, *[generator]( parameters… ) {}, async [property]( parameters… ) {}, // compare getter/setter syntax: get property() {}, set property(value) {} };
计算属性名
速记语法还支持计算的属性名称。
var bar = {
foo0: function() { return 0; },
foo1() { return 1; },
['foo' + 2]() { return 2; }
};
console.log(bar.foo0()); // 0
console.log(bar.foo1()); // 1
console.log(bar.foo2());
// 2
更多细节请参考原出处:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Method_definitions