타입 별칭
// 타입 별칭(Alias)
// 타입의 별명, 이름을 지어주는 것
// 이름을 통해 재사용을 할 수 있다.
type typeA = string
type typeB = string|number|boolean
type User = {
name : string
age : number
isValid: boolean
} | [string, number, boolean] // 객체 타입 혹은 튜플 타입으로 사용할 수 있다.
const userA : User = {
name : 'Neo',
age : 85,
isValid : true,
}
const userB: User = ['even', 36, false];
function sumeFunc(param: typeB): typeA {
switch(typeof param){
case 'string':
return param.toUpperCase()
case 'number':
return param.toFixed(2)
default:
return 'Boolean!'
// return true // string으로 지정 안해줌
}
}
// 인터페이스는 인터페이스 이름, 데이터 이름, 타입
// 타입 별칭은 할당 연산자가 필수적이다.
// 기능적 차이는 없고, 취향 차이인데
// 인터페이스를 권장한다.
type TypeUser = {
name: string
age: number
}
interface InterfaceUser {
name: string
age: number
}