我通过不小心遗漏了
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");
这怎么可能在任何浏览器中运行?是某种新的 ES6 功能吗?
是.
...
方法定义
对象的属性也可以引用函数或getter或 设置方法。
var o = { property: function ([parameters]) {}, get property() {}, set property(value) {}, };
在 ECMAScript 6 中,可以使用速记符号,因此 不再需要关键字“function”。
// Shorthand method names (ES6) var o = { property([parameters]) {}, get property() {}, set property(value) {}, * generator() {} };
...
ES6 允许 “简洁的方法”,正如您所发现的那样,它还不能跨浏览器兼容。