TypeScript의 Object 타입 선언
2023. 4. 25. 17:52ㆍ개발 관련
TS에서 object 타입을 선언할 때 'interface'와 'type'을 사용한다.
interface
선언하기
interface ButtonName {
name: string;
id: number;
}
만약 id가 number 또는 빈 값이라면 아래와 같이 표현할 수 있다.
두 개가 같은 표현이다.
id: number | null;
id?: number;
정의하기
const btn: ButtonName = {
name: 'button1',
id: 1
};
확장하기(상속)
// extends로 확장하기
interface ButtonName2 extends ButtonName {
activate: boolean;
}
const btn2: ButtonName2 = {
name: 'button2',
id: 2,
activate: false
};
type
선언 및 정의하기
type ButtonName = {
name: string;
id: number;
}
const btn: ButtonName = {
name: 'button1',
id: 1
};
상속하기
// &로 확장하기
type ButtonName2 = ButtonName & {
activate: boolean;
}
const btn2: ButtonName2 = {
name: 'button2',
id: 2,
activate: false
};
computed value의 사용
type ButtonName = 'IconButton' | 'FilledButton' | 'OutlinedButton';
const btn: ButtonName = 'IconButton'
type과 interface의 차이점
1. type는 Object 타입 외의 모든(any)타입에 이름을 부여할 수 있지만 interface는 오직 Object 타입에만 가능하다.
2. type은 &로, interface는 extends로 상속한다.
3. type은 computed value가 사용가능하다.
'개발 관련' 카테고리의 다른 글
디자인 패턴 사용 목적 쉽게 이해하기 (7) | 2024.09.29 |
---|---|
React의 ErrorBoundary 사용 꿀팁! (4) | 2024.09.25 |
TypeScript의 Type선언 (0) | 2023.04.25 |
React의 Suspense, ErrorBoundary (0) | 2023.04.20 |
React의 Router (0) | 2023.04.20 |