2

私はこれを理解できませんでしたが、おそらく誰かが私を助けることができます.javascriptクラスを定義し、静的属性「名前」を追加しようとすると、後で「名前」を使用できません.

var MyClass = function() {
  this.name = 'This is an instance of MyClass';
  this.anyName = 'This has nothing to do with it';
}

// static attributes
MyClass.name = 'Why is this not possible?';
MyClass.anyName = 'This works fine!';

var a = new MyClass();
console.log(a.name);
console.log(a.anyName);
console.log(MyClass.name);
console.log(MyClass.anyName);

4つの文字列すべてを出力することを期待しています。ただし、代わりに次の出力のみが表示されます。

This is an instance of MyClass
This has nothing to do with it

This works fine!

静的属性「名前」を受け入れませんが、なぜですか? アイデア/ヒントはありますか?前もって感謝します!

4

1 に答える 1

4

関数オブジェクトの name プロパティは読み取り専用であり、割り当ては無視されます。

于 2013-03-03T12:53:18.587 に答える