我意外地忽略了function
关键字,从而发现了这一点。通常,下面模块中的foobar
方法将被声明为foobar: function(arg1)
,但有趣的是以下工作,至少在某些浏览器中,例如Chrome版本44.0.2403.157 m,但在IE 11.0.9600.17959
在任何浏览器中,它都可以运行吗?这是某种新的ES6功能吗?
var module = {
foobar(arg1) {
alert(arg1);
}
};
module.foobar("Hello World");
答案 0 :(得分:17)
在任何浏览器中,它都可以运行吗?是某种新的ES6功能吗?
...
方法定义
对象的属性也可以指函数或getter或 setter方法。
var o = { property: function ([parameters]) {}, get property() {}, set property(value) {}, };
在ECMAScript 6中,有一个速记符号可供使用 不再需要关键字“功能”。
// Shorthand method names (ES6) var o = { property([parameters]) {}, get property() {}, set property(value) {}, * generator() {} };
...
答案 1 :(得分:5)
ES6允许"concise methods",正如您所发现的那样,它还不是跨浏览器兼容的。