본문 바로가기
프론트엔드/TypeScript

class - constructor & initialize

by step 1 2021. 6. 21.
반응형
  • 생성자 함수가 없으면, 디폴트 생성자가 불린다.
  • 프로그래머가 만든 생성자가 하나라도 있으면, 디폴트 생성자는 사라진다.
  • strict 모드에서는 프로퍼티를 선언하는 곳 또는 생성자에서 값을 할당해야 한다.
  • 프로퍼티를 선언하는 곳 또는 생성자에서 값을 할당하지 않는 경우에는 ! 를 붙여서 위험을 표현한다.
  • 클래스의 프로퍼티가 정의되어 있지만, 값을 대입하지 않으면 undefined이다.
  • 생성자에는 async(비동기)를 설정할 수 없다.

예제

TS 파일

class Person55 {
  name: string = "Mark";
  // 클래스 내부에서 선언하지 않을 경우 !를 붙여준다.
  // 반드시 바깥에서 선언해주어야 한다.
  age!: number;

  constructor(age: number){
    this.age = age;
  }
}

const p12: Person55 = new Person55(22);

console.log(p12);
//p12.age = 39;
console.log(p12.age);

 

컴파일된 JS 파일

"use strict";
class Person55 {
    constructor(age) {
        this.name = "Mark";
        this.age = age;
    }
}
const p12 = new Person55(22);
console.log(p12);
//p12.age = 39;
console.log(p12.age);

 

확인

반응형