강의

멘토링

커뮤니티

Inflearn Community Q&A

chlqudrnr8035's profile image
chlqudrnr8035

asked

[Renewal] TypeScript All-in-One: Part 1. Basic Grammar

forEach, map generic analysis

forEach 제네릭 관련 문의

Written on

·

46

·

Edited

0

문의1)
interface Array<T> {

forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void;

}

 

위 인터페이스를 보고 호출값을 객체값 또는 문자형이 아닌 배열형 [ 1, 2, 3 ] 으로 호출을 하고 있는데요.

어디에서 힌트를 얻어 배열형으로 호출을 하신건지 궁금합니다.

 

문의2)

만약 아래와 같이 되어 있어도 배열형으로 호출을 해도 되는지 궁금합니다.

interface Test<T> {

aa(callbackfn: (value: T, index: number ) => void ): void;

}

 

문의3)

만약 바로 위 Test 인터페이스에 대해 배열로만 제한을 하고 T 타입에 대해 호출하는 순간의 타입으로 제한하고자 한다면 어떻게 정의를 해줘야 할까요?

 

typescript제네릭

Answer 1

1

zerocho님의 프로필 이미지
zerocho
Instructor

배열이라는 것에 대한 인터페이스는 따로 있습니다. [key: number]: T 이런 식으로요.

interface Test<T> {
  [key: number]: T;
  length: number;
  aa(callbackfn: (value: T, index: number ) => void ): void;
}

이런식으로 하면 Test<T> 타입은 배열과 비슷한 타입이 됩니다.

chlqudrnr8035's profile image
chlqudrnr8035

asked

Ask a question