인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편

옵셔널, 제네릭 기본

제네릭 extends 함수로 한 경우

작성

·

278

·

수정됨

0

function test<T extends (a: number, b: string) => boolean>(callback: T): void {
  return;
}

const callback = (a: number) => {return true};
const callback2 = (a: string) => {return true};
const callback3 = () => {return true};

test(callback); // OK
test(callback2); // ERROR
test(callback3); // OK

playground에서 위 코드 입력시 callback2에서만 오류가 나고 나머진 통과됩니다.

제네릭에선 a, b 옵셔널이 아닌 두 매개변수를 정했는데 왜 빈값 혹은 1개만 넣어도 충족되는지 궁금합니다.

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

콜백 함수인 경우는 기본적으로 매개변수 생략 가능합니다. 자바스크립트 생각해보시면

addEventListener('click', () => {})

addEventListener('click', (e) => {})

둘 다 되는 것처럼요.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기