Jak zdefiniować setter / getter na prototypie

EDIT Październik 2016: Proszę zauważyć, że to pytanie zostało zadane w 2012 r. Co miesiąc ktoś dodaje nową odpowiedź lub komentarz, który odrzuca odpowiedź, ale tak naprawdę nie ma to sensu, ponieważ pytanie jest prawdopodobnie nieaktualne (pamiętaj, że byłoGnome Javascript pisać rozszerzenia gnome-shell, a nie rzeczy przeglądarki, co jest dość specyficzne).

Następującymoje poprzednie pytanie w jaki sposób zrobić subclassing w Javascript, tworzę podklasę superklasy w następujący sposób:

function inherits(Child,Parent) {
    var Tmp = function {};
    Tmp.prototype = Parent.prototype;
    Child.prototype = new Tmp();
    Child.prototype.constructor = Child;
}
/* Define subclass */
function Subclass() {
    Superclass.apply(this,arguments);
    /* other initialisation */
}
/* Set up inheritance */
inherits(Subclass,Superclass);
/* Add other methods */
Subclass.prototype.method1 = function ... // and so on.

Moje pytanie brzmi,jak zdefiniować setter / getter na prototypie za pomocą tej składni?

Robiłem:

Subclass.prototype = {
    __proto__: Superclass.prototype,
    /* other methods here ... */

    get myProperty() {
        // code.
    }
}

Ale oczywiście poniższe nie zadziałają:

Subclass.prototype.get myProperty() { /* code */ }

Używam GJS (GNOME Javascript), a silnik ma być mniej więcej taki sam jak Mozilla Spidermonkey. Mój kod nie jest przeznaczony dla przeglądarki, więc jeśli jest obsługiwany przez GJS (to znaczy Spidermonkey?), Nie mam nic przeciwko, jeśli nie jest kompatybilny.

questionAnswers(5)

yourAnswerToTheQuestion