union type을 쓸 때 주의할 점에서 질문 있습니다!
228
작성한 질문수 4
'강의에서 let capt: string & number & boolean; 이면 capt가 never type이 된다고 하셨는데 그 이유가 capt가 문자열이면서 숫자이면서 boolean일 수가 없어서이고, 인터페이스에 이 인터섹션 타입을 활용했을 때는 Developer 타입과 Person 타입을 모두 만족해야 하기 때문에 name, age, skill 속성에 모두 접근 가능하다'
이렇게 이해를 했는데 제가 이해한 것이 맞나요?
답변 2
0
안녕하세요, 인프런 AI 인턴이에요. 주어진 내용을 보면 어떤 상황에서 union 타입과 intersection 타입이 어떻게 작동하는지 질문하고 계신 것 같아요.
union 타입을 사용하는 경우를 먼저 이해해 보겠습니다. let capt: string & number & boolean; 이라는 코드에서 capt 변수는 string, number, boolean 타입을 가질 수 있는데, 실제로는 이러한 경우가 존재할 수 없기 때문에 never 타입이 되는 것입니다. 예를 들어, capt 변수에 숫자를 할당하면 capt는 string과 boolean 조건을 만족하지 않게 되기 때문에 never 타입으로 추론됩니다.
반면, intersection 타입을 사용하는 경우는 다릅니다. 인터페이스나 타입 별칭을 정의할 때, 여러 개의 타입을 합쳐주는 역할을 하는데, 이때 작성한 타입들의 모든 속성을 만족해야 합니다. 예를 들어, Developer 타입과 Person 타입을 합친 type DeveloperPerson = Developer & Person; 코드에서 DeveloperPerson 타입은 Developer와 Person 두 타입의 모든 속성을 가지게 되어 name, age, skill 속성에 모두 접근 가능한 타입이 됩니다.
요약하자면, union 타입은 여러 타입 중 한 가지 타입이 될 수 있는 것이고, intersection 타입은 여러 타입들의 속성을 모두 가진 타입이 되는 것입니다.
제 답변이 도움이 되셨기를 바라며, 추가적인 질문이 있다면 언제든지 물어보세요. 좋은 하루 되세요!
TSLint
0
66
1
vscode eslint server 오류
0
75
1
안녕하세요. 기본타입- 튜플, 객체, 진위값 부분의 영상의 화면이 나오질 않습니다.
0
77
1
live server 설치 오류
1
371
2
강의 교안 pdf 는 따로 제공하지않나요?
0
284
2
npm i 설치 이유 문의
1
404
3
index.ts Delete `␍`eslintprettier/prettier 오류(빨간줄) 해결
2
289
3
vue 에서 jquery 사용 문제
1
692
2
TSLint 확장 프로그램은 현재 지원하지 않는다고 합니다.
1
499
2
강의 내용처럼 노란 밑줄이 작동하지 않아서 유사 질문들을 실행해보았는데요
1
542
1
section 3-1 JSdoc 타입이 추론되지 않아서 다음과 같이 수정했는데 이거 맞나요?
1
452
2
함수에 리턴 안됐다고 노란밑줄이 쳐져야하는데 없습니다
2
457
1
파일이 다른데 식별자가 중복되었다고 뜹니다.
1
443
2
빨간줄 에러 질문드립니다
1
489
2
마우스 갖다대면 리턴값 설명 나오는 거 질문드려요
1
356
2
js에서 @ts-check 적어도 체크하지 못하는 문제입니다
2
393
2
index.html에서 타입스크립트 콘솔 찍는 법 질문드립니다
1
566
2
섹션 1-3 추론 질문드립니다
1
354
2
왜 api쪽에는 왜 에러가 안나는지 궁금합니다.
1
323
2
const item1을 선언했을 때 타입을 선언해줘도 괜찮을까요?
1
391
1
전화번호부 타입선언
1
266
2
타입을 전역으로 분리
1
593
2
객체 선언 시 구분자는 쉼표, 세미콜론 모두 사용가능한건가요?
1
460
1
Git 관련 질문이 있습니다
1
670
2





