안녕하세요 lika-7입니다
이번 시간에는 TypeScript의 객체 선언에 “type”을 쓸지 “interface”를 쓸지 정리하였습니다
질문
객체 데이터 타입을 지정 할 때 type을 쓸지 interface를 쓸지 모르겠습니다!
문법의 차이
✅
1. type에는 할당 연산자 를 사용하고 괄호 입력 합니다
2. interface에는 할당연산자 안쓰고 괄호 입력 합니다
type
//TypeScript
type TypeUser = {
name: string
age: number
isValid: boolean
}
type을 썼을 때
//TypeScript
type TypeUser = {
name: string
age: number
isValid: boolean
}
const heropy: TypeUser = {
name: 'heropy',
age: 25,
isValid: true
}
interface
//TypeScript
interface InterfaceUser {
name: string
age: number
isValid: boolean
}
interface를 썼을 때
//TypeScript
interface InterfaceUser {
name: string
age: number
isValid: boolean
}
const heropy: TypeUser = {
name: 'heropy',
age: 25,
isValid: true
}
결론
기능적으로는 type을 사용하던 interface 를 사용하던 둘다 같습니다.
둘다 사용해도 되지만 굳이 더 나은것을 선택하자면 interface가 좋다고 생각합니다
type은 객체 데이터를 지정하는 타입이라기보다 다양한 타입의 별칭을 지정하는 것임으로 사용범위가 더 넓고, interface는 함수나 배열의 데이터를 지정할수도 있지만 기본적으로 객체 데이터를 사용합니다.
둘다 써도 되지만 굳이 고르자면 interface가 조금더 나은 표현이라고 생각합니다