这个问题深入研究了一个有趣的代码片段,它定义了一个不使用“function”关键字的对象方法。理解这个语法需要深入研究 ES6 引入的定义方法的简写符号。
为什么下面的代码片段在某些浏览器中可以工作,尽管省略了“function”关键字?
var module = { foobar(arg1) { alert(arg1); } }; module.foobar("Hello World");
答案就在ES6引入了简写用于定义对象方法的符号。根据 ECMAScript 2015 规范:
“对象的属性也可以引用函数或 getter 或 setter 方法。”
var o = { property: function ([parameters]) {}, get property() {}, set property(value) {}, };
ES6 引入了一种速记符号,删除了“function”关键字的必要性:
// Shorthand method names (ES6) var o = { property([parameters]) {}, get property() {}, set property(value) {}, * generator() {} };
以上是为什么 ES6 对象方法在没有'function”关键字的情况下也能工作?的详细内容。更多信息请关注PHP中文网其他相关文章!