閱讀John Resig's article about Javascript getters and setters我在Javascript中看到的結構我不熟悉:什麼類型的對象/屬性是原型getter和setter?
Field.prototype = {
get value(){
return this._value;
},
set value(val){
this._value = val;
}
};
原型是許多人一樣,但get和set部分在這裏對象顯得陌生。他們以什麼名字提到?它們看起來不像對象的典型屬性(遵循"key":"value"
語法),它們看起來也不像標準函數。
這是簡單的JS引擎轉換成更容易識別的語法糖嗎?
更新:
我的問題的真正癥結是:由於{ foo(){} }
是無效的語法,是什麼使得它有效給予get
或set
操作? { get foo(){} }
「get」和「set」都在* operators *文檔的MDN上列出。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/get。他們也把他們稱爲獲得者和制定者。我想他們和'delete' /'typeof' /'yield'運算符很相似。 – CodingIntrigue
啊,我知道的那一天,我覺得有點骯髒。這些應該永遠不會存在,海事組織。 – ZenMaster
謝謝@Rraham。我剛剛在MDN上找到了get運算符的一些信息。接下來的部分實際上是如何適合對象文字符號的。他們被視爲特殊情況還是語法實際上符合標準? –