"TypeScript class 는 타입 체크 있는 JavaScript class. 같은 문법, 더 많은 보장."
기본 모양
TypeScript class 선언이 필드, parameter, return 타입에 타입 annotation 있는 JavaScript class 문법. Class 필드가 이름과 타입으로 선언; constructor 가 초기화; method 가 필드 읽고 수정; class instance 모양이 이 모든 거 type system 통해 carry.
class Counter {
count: number = 0;
increment(): void { this.count++ }
reset(): void { this.count = 0 }
}
`count: number = 0` 가 필드 선언 + 초기화. Method 가 `this.count` 접근 — TypeScript 가 method 안 `this` 는 Counter 라는 거 아니까 타입 보존.
Class instance 타입
Class 선언이 constructor (값 `Counter`) 와 타입 (타입 `Counter`) 둘 다 만들어. const c: Counter = new Counter() 가 타입 사용; new Counter() 가 constructor 호출. 둘이 같은 이름 공유, 대부분 TypeScript 코드가 자유롭게 섞어.
Getter 와 setter
Class method 가 `get` 과 `set` keyword 써서 property-like accessor 만들 수. get name(): string 가 getter 선언; `instance.name` 읽으면 호출. set name(v: string) 가 setter 선언; `instance.name = '...'` assign 하면 호출. Class 밖에선 accessor 가 property 처럼 보임; 안에선 두 method.