TS基本 Class

TypeScript Class

TypeScript クラス基本

// ===== クラス on TypeScript =====

/*
 * @User: クラス
 * @name: string & コンストラクタ
 * @greet: メソッド <- 挙動確認
 * @sayHi: インスタンス生成
 * === オプション アクセス修飾子  ===
 * - public: default
 * - private
 * - protected
 */

class User {
    /*
    public name: string
    constructor(name: string) {
        this.name = name
    }
    */
    constructor(public name: string) { } // 上述の省略形
    public greet(): void {
        console.log('Hi' + this.name)
    }
}

const say = new User('Bob')
// say
say.name
say.greet() // ? <- 出ない? 仕様確認


// ========= class try2 to Private
class User2 {
    constructor(private _name: string) { } // 外から読ませない
    public greet2(): void {
        console.log('Hi!' + this.name)
    }
    get name() {
        return this._name;
    }
}

const say2 = new User2('Jane')
say2.name // @to result: Property 'name' does not exist on type 'User2'.
say2.greet2() // ? <- 出ない? 仕様確認

// =========

残課題

Last updated