Я работаю с 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"));
Это приводит к предупреждению "медведя кролика".
Я никогда не видел этот шаблон get/set, используемый в Javascript раньше. Он работает, но я не могу найти никакой документации/ссылки для него. Это что-то особенное для XUL, недавняя языковая функция или просто что-то, что я пропустил? Я озадачен тем, что несколько месяцев назад я специально искал что-то вроде этого и ничего не нашел.
Для справки удаление "get" или "set" приводит к ошибке синтаксиса. Переименование их во что-либо еще является синтаксической ошибкой. Они действительно являются ключевыми словами.
Может ли кто-нибудь пролить свет на это для меня или указать мне на ссылку?