本文研究了不带“function”关键字的对象方法定义的奇怪情况。虽然它看起来像是一个编码错误,但由于引入了新的 ES6 功能,它实际上可以在某些浏览器中工作。
它是如何工作的?
在ECMAScript 6 (ES6) 为对象内的方法定义引入了一种简写符号。此表示法消除了对“function”关键字的需要,如下例所示:
// Shorthand method names (ES6) var o = { property([parameters]) {}, get property() {}, set property(value) {}, * generator() {} };
浏览器支持
现代浏览器支持此简写表示法像 Chrome,但不适用于 Internet Explorer 11 等较旧的浏览器。这就是问题中提供的示例在 Chrome 中有效但在 IE 中失败的原因11.
这是一个错误还是一个功能?
此行为是现代浏览器中实现 ES6 的结果。这不是一个错误,而是一个预期的功能,可以实现更简洁和可读的对象方法定义。
结论
无需“函数”即可定义对象方法的能力关键字是 ES6 的一项显着功能,可以简化代码并提高可读性。虽然并非所有浏览器都支持它,但它在现代 JavaScript 开发中变得越来越普遍。
以上是JavaScript 中可以不使用'function”关键字来定义对象方法吗?的详细内容。更多信息请关注PHP中文网其他相关文章!