TS class 선언 방식

YOUNGJOO-YOON·2021년 7월 9일
0

typeScript

목록 보기
25/65

TS에서 class를 선언하는 방식 중 선호할만한 두 가지 방식

TS에서 클래스의 속성은 기본 public 속성입니다.

private, protect와 같은 접근 제한자 (access modifier)를 통해 접근을 제한할 수 있습니다.

기본적인 선언방식

class Person0{
	name?:string // 01 type 
	age?:number
	constructor(name?:string, age?:number){ // 02 constructor
		this.name=name;
		this.age=age
	}
}

let jack0 : Person0 = new Person0('jack',2)
console.log(jack0);

01 class의 타입을 선언해주고
02 constructor를 통해 생성해준다.
위 과정은 정석이긴 하나 코드의 양이 매우 길다.

아래의 예시는 위 코드의 단축형 두 가지를 소개한다.

// class의 interface적인 선언 
class Person1{
	name?: string; // 01 type 선언
	age?: number; 
}
 // class 선언 ( constructor 선언은 자동으로 이루어짐 )

let jack:Person1 = new Person1(); // 객체 생성 타입 = class 선언 이름
jack.name = 'Jack'; jack.age=1;
// class 특정
console.log(jack);

constructor를 사용한 선언

class Person2{
	constructor(public name?: string, 
                 public age?:number){} // constructor를 통한 객체 생성
}
// constructor를 통한 class 선언 
// 접근 제한자를 특정해주지 않으면 사용이 불가능하다.


let jack2: Person2 = new Person2('jack',32); // 객체 생성
console.log(jack2);
profile
이 블로그의 글은 제 생각을 정리한 글과 인터넷 어딘가에서 배운 것을 정리한 글입니다. 출처는 되도록 남기도록 하겠습니다. 수정 및 건의 오류 등이 있으면 언제든지 댓글 부탁드립니다.

0개의 댓글