「JavaScript/クラス」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎ES6 の class を使ったコードと相当するES5のコード: Complex.prototype.csub = function(n) { return new Complex(this.real - n.real, this.imag - n.imag) }
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
320 行
::real, imagを擬似プロパティとして、それぞれのセッターとゲッターを定義。
::これで、n.real や n.imag で値を参照でき、n.real = 110 のように左辺値化もできます(n.real(), n.imag()や n.real(110) ではないことに注意してください)。
 
=== staticプロパティ ===
クラスにはstaticプロパティを定義できます。
クラスの正体はFunctionオブジェクトなので、関数のプロパティを定義していることになります。
;[https://paiza.io/projects/5vnFxTJ7Bsclhbdm7ADlJQ?language=javascript staticプロパティの使用例]:<syntaxhighlight lang="javascript" line>
class Test {
static min(){
return 100;
}
static get MAX(){
return 10000;
}
static n = 123
}
 
console.log(`Test.min() = ${Test.min()}
Test.MAX = ${Test.MAX}
Test.n = ${Test.n}`)
</syntaxhighlight>
;実行結果:<syntaxhighlight lang="text">
Test.min() = 100
Test.MAX = 10000
Test.n = 123
</syntaxhighlight>
 
=== 脚注 ===