Typescript class 문법

타입스크립트 클래스 문법은 js와 크게 다르지는 않다.

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

class Person {
    name: string;
    age: number;
    
    constructor( name: string, age: number ) {
        this.name = name;
        this.age = age;
    }
}

클래스 문법은 js와 동일하나 생성자 함수 위에 사용할 변수 타입을 설정해준다.

클래스 속성 키워드

readonly

클래스의 속성에 readonly 키워드를 사용하면 아래와 같이 접근만 가능하다.

class Developer {
    readonly name: string;
    constructor(theName: string) {
        this.name = theName;
    }
}
let john = new Developer("John");
john.name = "John"; // error! name is readonly.

또는

class Developer {
  readonly name: string;
  constructor(readonly name: string) {
  }
}

이렇게 생성자 함수 내부에 작성하여 코드를 줄일 수 있다.

private & public

class Person {
   private name: string;
   public age: number;
    
    constructor( name: string, age: number ) {
        this.name = name;
        this.age = age;
    }
}

변수의 유효범위를 설정 가능하다.
private는 선언한 변수를 class 내부에서만 사용할때 사용한다.
기본적으로는 public을 선언해준다고 한다.

profile
내가 보려고 쓰는 블로그

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN