2016 年 10 月編集: この質問は 2012 年に行われたことに注意してください。毎月、誰かが新しい回答または回答に反論するコメントを追加しますが、質問がおそらく古くなっているため、実際には意味がありません (覚えておいてください、Gnome Javascriptが gnome-shell 拡張機能を作成するためのものであり、ブラウザーのものではなく、非常に具体的です) 。
Javascript でサブクラス化を行う方法に関する以前の質問に続いて、次のようにスーパークラスのサブクラスを作成しています。
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.
私の質問は、この構文でプロトタイプにセッター/ゲッターを定義するにはどうすればよいですか?
やったことある:
Subclass.prototype = {
__proto__: Superclass.prototype,
/* other methods here ... */
get myProperty() {
// code.
}
}
しかし、明らかに以下は機能しません。
Subclass.prototype.get myProperty() { /* code */ }
私は GJS (GNOME Javascript) を使用しており、エンジンは Mozilla Spidermonkey のものと多かれ少なかれ同じであることを意図しています。私のコードはブラウザー向けではないので、GJS でサポートされている限り (Spidermonkey を意味すると思いますか?)、相互互換性がなくてもかまいません。