class


class


javascript
//javascript
class Person {
  constructor(name, age){
    console.log('생성 되었습니다.');
    this.name = name;
    this.age = age;
  }
}

let profile = new Person('olive',26);
typescript
class Person {
   name:string;
   age:number; 
  
  constructor(name:string,age:number){
    console.log('생성 되었습니다.');	
    this.name = name;
    this.age = age
  }
}
prototype?

private & public

class Person {
  private name:string; 
  public age:number; 
  
  constructor(name:string,age:number){
 	// ...
  }
}
  • private:クラスでのみ使用できます.
  • public:クラス外でも使用可能.
  • readonly


    クラスにアクセスできますが、値を変更したくない場合は、readonlyを使用します.
    // typescript
    class Developer {
      readonly name: string;
      constructor(theName: string){
        this.name = theName;
      }
    }
    
    let olive = new Developer('olive');
    olive.name = '0live" // error! name is readonly
    readonlyは、コンストラクション関数()に初期値設定ロジックを追加する必要があるため、パラメータにreadonlyキーワードを追加することでコード量を減らすことができます.
    class Developer {
      readonly name: string;
      constructor(readonly name: string) {
      }
    }