我無法將以下內容與我讀過的任何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'語句[...]以這種方式編寫代碼沒有額外的好處,除了讓它在語法上更短。「 - 很高興現在已棄用! –