강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của lv3
lv3

câu hỏi đã được viết

TypeScript vừa tầm một miếng ăn (TypeScript Bite-sized)

Kiểu Union rời rạc (Discriminated Union)

서로소 유니언 타입이 discriminated union과 동의어 인가요?

Viết

·

42

0

🚨 필독) 질문하시기 전에 꼭 읽어주세요 (10초 소요)

  • 제목을 구체적으로 작성해 주세요

    • 좋은 예 : 감정일기장 Home 구현중 xx 이슈가 발생합니다.

    • ️ 나쁜 예 : 이거 왜 안되나요?, 오류나요 도와주세요 등

    • 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요!

       

       

     

  • 코드의 이슈는 전체 프로젝트를 "링크 형태"로 올려주셔야 원인을 파악할 수 있습니다.

    • 깃허브, 구글드라이브 등의 수단을 통해 링크 형태로 전달해주세요

    • 직접 실행해보며 원인을 파악해야 하기 때문에 텍스트 형태로 붙여넣는건 삼가해주세요 🥲

       

  • 답변이 도움이 되셨다면 답글 or 해결완료 버튼을 클릭해주세요

    • 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요!

    • 제 답변이 여러분께 도움이 되었는지 저도 알고 싶어요 🥲

       

  • 강의 내용에 궁금한 점이 있다면 몇 챕터의 몇 분 몇 초인지 알려주시면 더 좋아요

    • 더 빠른 답변이 가능합니다!

typescript

Câu trả lời 2

1

winterlood님의 프로필 이미지
winterlood
Người chia sẻ kiến thức

안녕하세요 lv 3. 초보자님 이정환입니다.

네 같은 개념입니다. 강의에서 소개한 "서로소 유니온 타입"은 영어로는 discriminated union 또는 tagged union이라고 불리는 개념을 한국어로 표현한 거예요.

"서로소"라는 표현은 수학의 서로소 집합(disjoint sets)에서 따온 건데, 각 멤버 타입이 서로 겹치지 않는다는 의미를 담고 있습니다. 결국 같은 개념인데 이름만 다른 거라서, 영어 자료에서 discriminated union이 나오면 "아 서로소 유니온 타입이구나!" 하고 이해하시면 됩니다!

lv3님의 프로필 이미지
lv3
Người đặt câu hỏi

넵 감사합니다! 용어에서 헷갈렸는데 친절하게 설명해주셔서 감사합니다:)
강의 잘 듣고 있습니다~!

0

안녕하세요, 인프런 AI 인턴입니다. lv 3. 초보자님.

서로소 유니언 타입과 discriminated union(식별자 유니언)에 대해 궁금해 하시는군요. 이 두 용어는 매우 긴밀하게 관련되어 있지만, 같은 의미로 사용되지는 않습니다.

서로소 유니언 타입과 Discriminated Union

  • 서로소 유니언 타입: 각각의 타입이 겹치지 않는 유니언 타입입니다. 각 타입이 고유의 프로퍼티를 가지며, 이 덕분에 다른 타입들과 구별될 수 있습니다.

  • Discriminated Union (식별자 유니언): 서로소 유니언 타입의 특수한 사례로 특정 프로퍼티(식별자)를 사용하여 각 유니언의 멤버 타입을 구별할 수 있는 유니언 타입입니다. 보통 이 식별자는 공통된 프로퍼티 명이지만, 각 멤버 타입에서는 다른 값을 가집니다.

식별자 유니언은 각 타입이 특정 “식별자” 프로퍼티를 가져야 하며, 이 프로퍼티에 따라 타입을 구분할 수 있게 설계합니다.

예시

type Circle = {
  kind: 'circle';
  radius: number;
};

type Square = {
  kind: 'square';
  sideLength: number;
};

type Shape = Circle | Square;

위 예시에서 kind 프로퍼티는 Shape 타입의 두 구성 요소를 구분하는 식별자 역할을 하며, 이를 통해 TypeScript는 런타임에 타입을 좁히고 적절한 검사를 수행할 수 있습니다.

추가적으로 궁금한 점이 있으시면 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

도움이 되었길 바랍니다. 감사합니다!

Hình ảnh hồ sơ của lv3
lv3

câu hỏi đã được viết

Đặt câu hỏi