카테고리 없음

class

나빈스 코딩 2025. 8. 14. 15:24

클래스를 선언할 때, 기존 자바스크립트와 다른 점은 "프로퍼티의 타입을 미리 지정"해야한다는 점이다.

class Book {
  name: string; // 여기가 다름!
    
  constructor(name: string) {
    this.name = name;
  }
    
  sum(a: number, b: number): number {
    return a + b;
  }
}

 

변경되면 위험한 중요 프로퍼티들이 있다면 접근 제어자를 이용하자.

클래스의 접근 제어자는 3가지 (public, private, protected)가 있다.

public(기본)은 모두 rw(read, write) 가능, private은 클래스 내부에서만 rw 가능, portected는 상속된 클래스 내부에서만 rw 가능이다.

주의해야할 점은 x(실행)까지는 막지 못한다는 점이다.

타입스크립트가 실행 시점의 에러까지 막을 수없는 것과 같은 맥락이다.

만약 오류났을 때 실행도 막고 싶다면, 자바스크립트의 private 문법인 #을 변수명 앞에 쓰면 된다. (tsconfig 파일 바꾸고, 타입스크립트 버전도 맞아야함)