인프런 커뮤니티 질문&답변

roberto park님의 프로필 이미지
roberto park

작성한 질문수

[코드팩토리] [초급] 8시간만에 끝내는 코드팩토리의 Typescript 완전정복 풀코스

함수 시그니처를 타입으로 선언하기

타입? 인터페이스? 질문있습니다

작성

·

75

0

강의에서도 말씀해주시긴 하지만
재가 이해한바로는 타입과 인터페이스 의 차이는 인지했습니다.

 

타입 : primitive 나열 해서 선언가능..

인터페이스 : 객체형태 정의시

 

근대 정작 코드를 짤때 왜 type 을쓰고 interface 를 썻냐 라고 누군가 물어보면 명확한 답을 내리기 힘들었습니다

(type 부분을 interface 로 선언할수도 있는 부분이라 ... )

 

뭔가 실제 코드를 사용할때 type, interface 사용하는 차이가 있을까요 ?
(예를들어 컴포넌트의 props을 정의할떄는 interface 를 씁니다 왜 ?)
감사합니다:)

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

강의에서도 말씀드리는대로 interface와 type 모두 사용 가능하면 interface를 쓰라고 TS 다큐멘테이션에서 이야기하고 있습니다.

다만 단일타입 등 interface로 선언 불가능한 경우는 type을 사용하시면 됩니다.

interface와 type이 동시에 생긴 기능이 아니라 interface가 나중에 생긴 기능으로 type의 문제점들을 보완하는 목적도 있었다고 보셔도 됩니다.

이 둘의 특징적인 부분은 강의에서 많이 짚어두었습니다.

예) union, intersection 타입 만들때 -> type

예) extend 기능이 필요할때 -> interface

등등 각 특성이 필요할때가 아니라면 둘 다 모두 사용 가능할때는 interface를 사용하면 됩니다.

감사합니다!

roberto park님의 프로필 이미지
roberto park

작성한 질문수

질문하기