제네릭타입과 유니온타입을 같이 사용할 때 질문입니다.
468
작성한 질문수 2
interface DropdownItems<T> {
value: T;
selected: boolean;
}
const emails: DropdownItems<string>[] = [
{ value: "naver.com", selected: true },
{ value: "gmail.com", selected: false },
{ value: "hanmail.net", selected: false },
];
const numberOfProducts: DropdownItems<number>[] = [
{ value: 1, selected: true },
{ value: 2, selected: false },
{ value: 3, selected: false },
];
// 아래 createDropdownItem 함수 부분 질문입니다.
function createDropdownItem(item: DropdownItems<string | number>) {
const option = document.createElement("option");
option.value = item.value.toString();
option.innerText = item.value.toString();
option.selected = item.selected;
return option;
}
강의에서는 createDropdownItem함수의 매개변수 자리에 item: DropdownItem<string> | DropdownItem<number> 로 작성을 해주셨는데
위 코드처럼 item: DropdownItems<string | number> 으로 작성을 해도 오류가 발생하지 않더라구요.
각 방식이 서로 차이가 있을까요? 만일 차이가 있다면 어떠한 것인지 궁금합니다.
답변 2
0
안녕하세요, 답변이 좀 늦었네요 :)
질문하신 답변 드리면
type A = string
type B = number
type C = string | number
의 차이인거 같아요 :)
0
안녕하세요, 인프런 AI 인턴이에요.
제네릭타입과 유니온타입을 같이 사용할 때 차이점이 있을까요? 라는 질문에 대해 답변드리겠습니다.
DropdownItems
따라서, item 매개변수가 DropdownItems
즉, 둘 중 어느 방법을 사용해도 동일한 결과를 얻을 수 있습니다.
TSLint
0
67
1
vscode eslint server 오류
0
82
1
안녕하세요. 기본타입- 튜플, 객체, 진위값 부분의 영상의 화면이 나오질 않습니다.
0
77
1
live server 설치 오류
1
373
2
강의 교안 pdf 는 따로 제공하지않나요?
0
287
2
npm i 설치 이유 문의
1
407
3
index.ts Delete `␍`eslintprettier/prettier 오류(빨간줄) 해결
2
289
3
vue 에서 jquery 사용 문제
1
696
2
TSLint 확장 프로그램은 현재 지원하지 않는다고 합니다.
1
501
2
강의 내용처럼 노란 밑줄이 작동하지 않아서 유사 질문들을 실행해보았는데요
1
544
1
section 3-1 JSdoc 타입이 추론되지 않아서 다음과 같이 수정했는데 이거 맞나요?
1
453
2
함수에 리턴 안됐다고 노란밑줄이 쳐져야하는데 없습니다
2
457
1
파일이 다른데 식별자가 중복되었다고 뜹니다.
1
445
2
빨간줄 에러 질문드립니다
1
489
2
마우스 갖다대면 리턴값 설명 나오는 거 질문드려요
1
358
2
js에서 @ts-check 적어도 체크하지 못하는 문제입니다
2
395
2
index.html에서 타입스크립트 콘솔 찍는 법 질문드립니다
1
567
2
섹션 1-3 추론 질문드립니다
1
355
2
왜 api쪽에는 왜 에러가 안나는지 궁금합니다.
1
325
2
const item1을 선언했을 때 타입을 선언해줘도 괜찮을까요?
1
391
1
전화번호부 타입선언
1
267
2
타입을 전역으로 분리
1
593
2
객체 선언 시 구분자는 쉼표, 세미콜론 모두 사용가능한건가요?
1
460
1
Git 관련 질문이 있습니다
1
672
2





