let, const를 선언해 변수를 초기화하듯 사용 가능// string 타입을 사용할 때
const name: string = 'capt';
// 타입 별칭을 사용할 때
type MyName = string;
const name: MyName = 'capt';
타입 별칭은 간단한 타입 뿐만 아니라 interface 등의 복잡한 타입에도, 제네릭에도 사용이 가능
type vs interface
type : 확장 불가능
interface : 확장 가능
=> type보다는 interface 선언해서 사용하는 것 추천
type Zero = string | number
const a:Zero = 'STR'
const b:Zero = 123
// 객체로도 사용 가능
type Zero = {
name: string
age: number
}
type Base = {
name: string
}
const obj: Zero | Base = {
name: 'Lee',
age: 11
}
type Zero = string & number
// string이면서 number일 수 없다.
const a:Zero = 'STR'
const b:Zero = 123
// 객체로도 사용 가능
type Zero = {
name: string
age: number
}
type Base = {
name: string
gender: GenderType
}
// 이렇게 name, age, gender 요소가 모두 들어가야함
const obj: Zero & Base = {
name: 'Lee',
age: 11
gender: 'F'
}