inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

타입스크립트 핸드북(블로그) 중 제네릭 타입 부분 만 이해가 안되서요 ㅠ

해결된 질문

212

프린이

작성한 질문수 21

1

안녕하세요 캡틴판교 님:]

타입스크립트 핸드북(블로그)을 참고하면서 강의를 듣고 있는데요,

강의를 들으면서도 블로그 내용 중 "제네릭 타입" 부분이 이해가 가질 않아서요

"간략하게라도"  설명을 요청드려요!궁금한 부분 표시해뒀습니다!

[1]. 아래 두 코드(#1, #2)가 어떻게 같은 의미로서의 코드인지 궁금합니다,

[2]. 변수(let) str를 <T>(text:T)=>T 함수 타입으로 하려고 , let str: <T>(text:T)=>T 까지는 이해가 되는데요,

logText를 할당(=)하는 이유가 궁금합니다, 함수선언 방식 같은 모양으로 '추측'이 되는데요,

어떤 의미에서 이런 코드형태가 나온걸까요?

[3]. 2번과 같은 코드를 {..}로 객체 리터럴을 만드는데, 어떤 의미에서 <T>(text:T)=>T를 { }로 감싸는 건가요?

[4]. <T>(text: T) : T;

제네릭 인터페이스, interface GenericLogTextFn{ 이하

<T>(text: T) : T; 에서<T>(text: T) 에 제네릭 T를 선언하는 "구조/방법"이 어렵게 느끼는데요, 

주로 프로퍼티 명: T(예: name : T ,  value: T)처럼 단순한 구조를 보다가 어떤 구조/의미인지

궁금합니다.

<T>(text: T) : T; 는 어떤 의미이고 왜 이렇게 작성할 수 있는지요? 

제네릭타입 typescript 제네릭인터페이스 es6 javascript

답변 1

0

캡틴판교

안녕하세요 프린이님, 좋은 질문이네요. 질문이 많아서 짧게 답변 드리겠습니다 :)

1. 함수도 객체인 자바스크립트의 특성 때문에 그렇습니다. 함수의 타입을 2개의 각기 다른 문법으로 표현한 것입니다.

2. 함수의 참조 값을 변수에 담을 수 있는 자바스크립트의 특성을 먼저 이해하셔야 할 것 같아요.

3. 제네릭으로 함수 구조의 타입을 정의할 때 사용할 수 있는 문법 유형이 1번에서 가리킨 2개의 문법입니다.

4. 제네릭에 대한 이해가 아직 부족하신 것 같아요. 제네릭 부분 영상을 다시 다 들어보시면 좋을 것 같습니다. 그리고 제네릭은 굳이 사용하지 않아도 됩니다. 다른 타입들로 계속 타입 정의하시다가 번거로워지면 제네릭으로 넘어가시는게 좋을 것 같아요 :)

0

프린이

답변 감사합니다:]

TSLint

0

66

1

vscode eslint server 오류

0

75

1

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

0

77

1

live server 설치 오류

1

368

2

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

0

284

2

npm i 설치 이유 문의

1

402

3

index.ts Delete &#x60;␍&#x60;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

455

1

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

1

443

2

빨간줄 에러 질문드립니다

1

488

2

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

1

356

2

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

2

393

2

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

1

564

2

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

1

354

2

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

1

323

2

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

1

390

1

전화번호부 타입선언

1

265

2

타입을 전역으로 분리

1

591

2

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

1

458

1

Git 관련 질문이 있습니다

1

668

2