새소식

프론트엔드/typescript

객체 데이터 타입 지정

  • -

안녕하세요 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가 조금더 나은 표현이라고 생각합니다

'프론트엔드 > typescript' 카테고리의 다른 글

함수 - 오버로딩  (0) 2023.09.19
함수 - 명시적 this 타입  (0) 2023.09.19
타입별칭  (0) 2023.09.19
Interface - 확장(상속)  (0) 2023.09.18
Interface - Index Signature  (0) 2023.09.18
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.