내일배움캠프

230605 타입스크립트 클래스

Neda 2023. 6. 5. 20:29

230605 타입스크립트 클래스

자바스크립트의 클래스는 프로토타입을 만들기 유용하지만, 몇 가지 지원하지 않는 사항들이 있다.

타입스크립트에서는 이러한 기능을 지원하여 클래스를 더욱 다양하게 사용할 수 있게 해준다.

 

추상 클래스 abstract

abstract class ClassName {
}

 

인터페이스로 부터 클래스 타입 지정

interface Parent {
}

class ClassName implements Parent {
}

 

읽기 전용 속성

abstract class ClassName {
  public readonly readonlyName: string = 'Class';
}

 

public static 외부 접근 가능한 정적 속성 또는 메서드

public: 외부에서 접근 가능자 (기본값)

static: 정적인 속성이나 메서드 선언하여 인스턴스와 상관 없이 클래스 생성자에서 접근 가능

abstract class ClassName {
  public static PROPERTY_NAME = 10;
}
console.log(ClassName.PROPERTY_NAME)

 

 

이 클래스와 후생 클래스에서만 접근 가능

외부에서 접근 불가

abstract class ClassName {
  protected _innerProperty: string;
}

 

이 클래스에서만 접근 가능

하위 클래스서 접근 불가

abstract class ClassName {
  private action!: string;
}

 

클래스에서 제네릭 사용

const someClass = class<S,N> {
  name: S;
  age: N;
  constructor(name: S, age: N) {
    this.name = name;
    this.age = age;
  }
  getUser():{name: S, age: N}{
    return {name:this.name,age:this.age}
  }
};