ecmascript:class
文書の過去の版を表示しています。
class
class Test { // 静的フィールド static version = '1.0.0'; // 静的メソッド static info() { // 注意 staticコンテキストでのthis.nameはクラス名を指す(`#name`ではない) return `${this,name} class, version ${this.version}` } // privateフィールド #name = ''; // コンストラクタ constructor(v) { this.#name = v; } // メソッド getMessage() { return 'Hello from ${this.#name}' } // getter get name() { return this.#name; } // setter set name(v) { this.#name = v; } }
クラスの実態は関数。(JSのクラスはオブジェクト生成構文のシンタックスシュガーに過ぎない)
console.log(typeof Test); // => function
継承
class Test2 extends Test { // 拡張メソッド print() {
console.log(this.getMessage());
} }
ecmascript/class.1757397725.txt.gz · 最終更新: by nullpon