我无法将以下内容与我读过的任何JavaScript文档进行协调。有人可以摆脱一些光?JavaScript getter被定义为数组而不是函数?
以下片段摘自file panelUI.js in the Mozilla repository。
const PanelUI = {
/** Panel events that we listen for. **/
get kEvents() ["popupshowing", "popupshown", "popuphiding", "popuphidden"],
// more properties...
_addEventListeners: function() {
for (let event of this.kEvents) {
this.panel.addEventListener(event, this);
}
// more code...
},
// more properties...
一切我读过有关JS定义一个getter本质上是一个函数(或“即得到特定属性的值的方法”和“获取语法绑定的对象属性的功能这将被称为当该属性被抬头“),所以我有点困惑,看到一个数组文字,我期望找到函数kEvents()
的主体。
这是什么意思,在JS中有一个函数名称后跟一个数组文字(通常或作为一个get定义的一部分)?
你将如何编写功能等同于上述的代码,但不使用这种奇怪的语法?
是的,谢谢,那一定是吧。 “表达式闭包是一种用于编写简单函数的简写函数语法[...]此语法允许您省略大括号和'return'语句[...]以这种方式编写代码没有额外的好处,除了让它在语法上更短。“ - 很高兴现在已弃用! –