해결된 질문
작성
·
113
0
함수 타입 정의 시 ...args 에 any[] 를 사용하는 경우를 많이 봤습니다.
<T extends (...args: any) => any> // 1
<T extends (...args: any[]) => any> // 2
강의에서 배운 내용도 그렇고, 타입스크립트에서 제공하는 함수 유틸 타입에서는 1번 방법으로 정의가 되어있습니다.
1번, 2번 방식에 차이가 있는 것인지 궁금하고, 둘 중 어떤 것을 쓰는 것이 맞는 방법인지 궁금합니다.
답변 1
0
원래는 any보다 any[]가 좀 더 구체적인 타입이 맞습니다. any[]는 적어도 배열이라는 것이니까요. 다만 ...args에 적용 시에는 any나 any[]나 차이가 없습니다. 둘 다 매개변수로 아무 타입이나 와도 된다는 뜻이라서요.