• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

선생님 유니온 코드 제거하는 코드에서 궁금한 점이 있습니다.

22.04.22 11:44 작성 조회수 196

1

유니온 제거하는 코드에서 궁금한 점이 있습니다.
---------------------------------------------
궁금한점
아래 코드중에 forEach들어가는 부분에서요.
// NOTE: 이메일 드롭 다운 아이템 추가
  const item = createDropdownItem<string>(email);
const item = createDropdownItem(email);
 
위의 코드 둘 다 오류가 안뜨는데 타입을 넣어주나
안넣어주나 상관 없나요?
 
어차피
const emails: DropdownItem<string>[] = [
emails변수 선언할때 DropdownItem에 스트링 타입으로
넣으라고 해놨기 때문에 타입스크립트 타입 추론
때문에 알기 때문인거죠?
 
 
 
 
-------------------------------------
여기는 전체 소스코드
 
interface DropdownItem<T> {
  value: T;
  selected: boolean;
}

const emails: DropdownItem<string>[] = [
  { value: 'naver.com', selected: true },
  { value: 'gmail.com', selected: false },
  { value: 'hanmail.net', selected: false },
];

const numberOfProducts: DropdownItem<number>[]  = [
  { value: 1, selected: true },
  { value: 2, selected: false },
  { value: 3, selected: false },
];

function createDropdownItem<T>(item: DropdownItem<T>){
  const option = document.createElement('option');
  option.value = item.value.toString();
  option.innerText = item.value.toString();
  option.selected = item.selected;
  return option;
}

// NOTE: 이메일 드롭 다운 아이템 추가
emails.forEach(function (email) {
  const item = createDropdownItem<string>(email);
  const selectTag = document.querySelector('#email-dropdown');
  selectTag.appendChild(item);
});

numberOfProducts.forEach(function (product) {
  const item = createDropdownItem<number>(product);
 
});


 
 
 
 
 
 
 
 

답변 1

답변을 작성해보세요.

1

네 맞습니다 :)

감사합니다.!!