Есть ли в Javascript ключевые слова get / set, такие как C #?

Я работаю с XULRunner и наткнулся на следующий шаблон в примере кода:

var StrangeSample = {

backingStore : "",

get foo() { return this.backingStore + " "; },

set foo(val) { this.backingStore = val; },

func: function(someParam) { return this.foo + someParam; }
};

StrangeSample.foo = "rabbit";
alert(StrangeSample.func("bear"));

Это приводит к предупреждению "кролика-медведя".

I Я никогда раньше не видел, чтобы этот шаблон получения / установки использовался в Javascript. Он работает, но я не могу найти для него документацию / ссылку. Это что-то особенное для XUL, недавняя языковая функция или просто что-то, что я пропустил? Я озадачен, потому что несколько месяцев назад я специально искал что-то подобное и ничего не нашел.

Для справки, удаление "get" или "установить" приводит к синтаксической ошибке. Переименование их во что-нибудь еще является синтаксической ошибкой. Они действительно кажутся ключевыми словами.

Может ли кто-нибудь пролить свет на это для меня или указать мне ссылку?

18
задан Guido 7 September 2011 в 22:28
поделиться