В JScript возможно ли реализовать методы получения и установки, которые выглядят как свойства объекта извне? - PullRequest
4 голосов
/ 16 ноября 2009

Пытаясь портировать и вообще поиграть с не-браузерным кодом, я наткнулся на геттеры и сеттеры, которые выглядели как обычные свойства объекта. Примерно так:

js> var o = {
    a: 4,
    get b(){
        return this.a + 3;
    },
    set b(val){
        this.a = val - 3;
    }
};
js> o.a
4
js> o.b
7
js> o.b=10
10
js> o.a
7

Кажется, это работает в последних версиях Rhino и Spidermonkey, но возможно ли реализовать или смоделировать поведение (определяющий синтаксис для меня менее важен) в JScript (Windows Script Host)?

Ответы [ 3 ]

1 голос
/ 21 ноября 2009

Ответ No. Сеттеры и геттеры - это просто свойства, которые действуют как функции, но нет способа правильно эмулировать синтаксис. У меня была наполовину концепция эмуляции геттеров и сеттеров для элементов HTML в

Если бы кто-то думал включить сеттеры и геттеры в исходные реализации JScript / ECMAScript.

0 голосов
/ 19 декабря 2011

Это полный список браузеров и их поддержка для геттеров и сеттеров. http://robertnyman.com/javascript/#javascript-getters-setters-object-defineproperty-compatibility

0 голосов
/ 16 ноября 2009

Согласно этой статье (Джоном Резигом, создателем jQuery), в JScript.NET 8 поддерживаются средства получения и установки Javascript.

...