inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

타입스크립트 입문 - 기초부터 실전까지

제네릭, 타입 호환 내용 관련 문의

184

kyungjin

작성한 질문수 4

0

장기효님 안녕하세요.
강의를 수강하다가 궁금한 점이 생겨 2가지 사항 문의 드립니다.

Q1) Generic

(제네릭 실전 예제 dropdown-generic.ts의 내용입니다)

아래의 # 1, # 2 두 코드는 동일하게 동작하나요?
Lint error는 발생하지 않지만 제네릭 T 타입에 유니온을 사용할 수 있는 것인지 궁금합니다!

# 1

function createDropdownItem(item: DropdownItem<string> | DropdownItem<number>) { ... }

# 2

function createDropdownItem(item: DropdownItem<string | number>) { ... } 

 

 

Q2) 타입 호환

함수의 타입 호환에 대한 설명에서

sum = add; 는 불가하고
add = sum; 은 가능하다고 설명해주셨는데,

직접 소스를 실행해보니 그 반대인 것 같습니다.
강의 교안 코드를 그대로 실행하여도 동일한데 TypeScript 스펙이 변경된 건가요?

실행해본 소스는 다음과 같습니다.

var add = function(a: number) {
  return a;
}
var sum = function(a: number, b: number) {
  return a + b;
}

sum = add;

add = sum; // Error

const res = sum(1, 3);
console.log(res);

(TypeScript Playground 링크)

 

부가 질문

혹시 Vue 3 강의나 Vue 3 + TypeScript 강의에 대한 계획이 있으신지 궁금합니다.
장기효님의 Vue 3 강의가 있으면 너무 좋을 것 같아요 !

양질의 강의에 감사드립니다!!

es6 typescript javascript

답변 0

TSLint

0

77

1

vscode eslint server 오류

0

97

1

안녕하세요. 기본타입- 튜플, 객체, 진위값 부분의 영상의 화면이 나오질 않습니다.

0

87

1

live server 설치 오류

1

401

2

강의 교안 pdf 는 따로 제공하지않나요?

0

294

2

npm i 설치 이유 문의

1

431

3

index.ts Delete &#x60;␍&#x60;eslintprettier/prettier 오류(빨간줄) 해결

2

303

3

vue 에서 jquery 사용 문제

1

712

2

TSLint 확장 프로그램은 현재 지원하지 않는다고 합니다.

1

511

2

강의 내용처럼 노란 밑줄이 작동하지 않아서 유사 질문들을 실행해보았는데요

1

553

1

section 3-1 JSdoc 타입이 추론되지 않아서 다음과 같이 수정했는데 이거 맞나요?

1

465

2

함수에 리턴 안됐다고 노란밑줄이 쳐져야하는데 없습니다

2

463

1

파일이 다른데 식별자가 중복되었다고 뜹니다.

1

461

2

빨간줄 에러 질문드립니다

1

499

2

마우스 갖다대면 리턴값 설명 나오는 거 질문드려요

1

367

2

js에서 @ts-check 적어도 체크하지 못하는 문제입니다

2

406

2

index.html에서 타입스크립트 콘솔 찍는 법 질문드립니다

1

579

2

섹션 1-3 추론 질문드립니다

1

362

2

왜 api쪽에는 왜 에러가 안나는지 궁금합니다.

1

335

2

const item1을 선언했을 때 타입을 선언해줘도 괜찮을까요?

1

404

1

전화번호부 타입선언

1

276

2

타입을 전역으로 분리

1

604

2

객체 선언 시 구분자는 쉼표, 세미콜론 모두 사용가능한건가요?

1

462

1

Git 관련 질문이 있습니다

1

674

2