inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

타입 정의 하는 방법

질문입니다.

84

heuieun choi

작성한 질문수 1

0

강의에서 현업관련해서 interface 보다 type을 별도의 파일을 더 선호 한다고 하셨는데, interface보다 type이 선호되는 이유를 알고 싶습니다.

react react-router redux-toolkit zustand react.js

답변 2

0

수코딩

안녕하세요.

인프런 AI가 참 성능이 좋은 것 같아요... ;;

우선 영상에서 말한 것처럼 타입별칭을 선호하는 건 저의 개인적인 취향입니다.

제가 인터페이스보다 타입별칭을 선호하는 이유는 인프런 AI 인턴이 말한 4가지 이유와 같아요.

그리고 나머지 의견도 인프런 AI 인턴의 답변에 동의합니다.

결국 최종적인 선택은 프로젝트의 요구사항과 코드 스타일에 따라 달라집니다.

인터페이스와 타입별칭은 상호 보완적인 도구로, 어느 하나만 집중해서 사용하는 게 아니라

상호 보완해서 사용할 수 있어요.

답변이 도움이 되셨기를 바랍니다 :)

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. heuieun choi님.

프론트엔드 개발에서 interfacetype는 주로 타입을 정의하기 위해 사용됩니다. 이 두 가지는 사용 목적이 비슷하지만, 몇 가지 차이점과 장단점 때문에 특정 상황에서는 type이 선호되기도 합니다:

  1. 유연성: type은 인터섹션(&)과 유니온(|) 타입을 지원하여 더 복잡하고 유연한 타입 구성이 가능합니다. 이는 복잡한 데이터 구조를 표현할 때 유리합니다.

  2. 타입 조합: type은 기본 타입들을 조합하여 새로운 타입을 만들 수 있는 반면, interface는 이와 같은 기능을 제대로 지원하지 않거나 복잡해질 수 있습니다.

  3. 선택적 기능: 두 가지 모두 선택적 속성을 지원하지만, type은 더 복잡한 조건부 타입, 제네릭 매핑 등을 사용할 수 있는 장점이 있습니다.

  4. 기타 요인: interface는 클래스 구현에 중점을 둔 스타일의 코딩에서 유용하고, JavaScript와의 호환성을 위해 명시적인 인터페이스를 지원합니다. 반면, type은 보다 유연한 타입 구문 작성이 가능하다는 점에서 다수 개발자들이 선호하기도 합니다.

물론, 최종적인 선택은 프로젝트의 요구사항과 코드 스타일에 따라 달라집니다. interfacetype은 상호보완적인 도구로, 상황에 맞춰 함께 사용할 수 있습니다.

다만, 일부 개발자나 팀에서는 type이 제공하는 유연함과 간결성을 더 선호하는 경향도 있습니다. 비슷한 토론과 질문이 종종 올라오니, 관련된 답변을 통해 좀 더 깊은 이해를 도울 수 있을 듯합니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

react-fetch -2 (loading) 에러

0

41

2

useEffect return문

0

47

3

할 일 수정 질문

0

44

2

컴포넌트 분리하기 강의 편

0

48

2

몽고디비 접속의 건

0

50

3

소스코드 제공여부

0

61

2

기본 파일 구조

0

56

2

공부방향에 대한 조언

0

76

2

styled-components

0

53

2

상태(State) 가 "시간이 지남~" 에 대해 질문 있습니다.

0

66

2

import {} 중괄호 차이점

0

62

2

[ 문의]몽고DB connect 의 건

0

79

2

제공되는 react_code.zip 중에 ..

0

81

2

커리큘럼 비활성화

0

69

2

설명하시는 개념들을 잘 모르겠습니다.

0

77

2

이해가 절반 정도 되는데요.

0

80

1

styled-components(전역)

0

76

1

cloudinary 관련

0

98

3

useOptimistic 실전-1 useState

0

104

2

discord 초대장 갱신이 필요한거같습니다.

0

99

1

할일 관리 앱(메모이제이션)

0

124

2

Web 플랫폼 등록

0

185

2

함수 정의 기준

0

102

2

fetch는 사용되는가

0

103

2