inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

bind type 질문

147

Rona

작성한 질문수 4

1

안녕하세요 ts version 5.5.4 입니다.

bind 타입정의는 아래와 같이 되어있습니다.

bind(this: Function, thisArg: any, ...argArray: any[]): any; 
bind<T>(this: T, thisArg: ThisParameterType<T>): OmitThisParameter<T>; 
bind<T, A extends any[], B extends any[], R>(this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; 
bind<T>(this: T, thisArg: any): T; 
bind<A extends any[], B extends any[], R>(this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R;

 

영상에 나온 예시를 아래와 같이 따라쳤을때 add1, add2, add3, add4, add5, add6 전부 타입이 any로 추론되고 있습니다. 왜 전부 any로 추론되는지 궁금하고 bind<T>(this: T, thisArg: ThisParameterType<T>): OmitThisParameter<T>; 타입은 bind 함수에서 어떻게 사용할 수 있는지 궁금합니다.

또, bind<Window> 명시적으로 타입을 선언을 해보고 싶었는데, Expected 0 type arguments, but got 1.ts(2558) 와 같은 에러만 발생합니다,, 제가 어떤걸 잘못 한걸까요..?

 

function add(a:number, b: number, c: number, d: number, e: number, f: number) {
  return a + b + c + d + e + f;
}

const add1 = add.bind(null);
add1(1,2,3,4,5,6); 

const add2 = add.bind(null, 1);
add2(2,3,4,5,6);

const add3 = add.bind(null, 1, 2);
add3(3,4,5,6)

const add4 = add.bind(null, 1,2,3);
add4(4,5,6);

const add5 = add.bind(null, 1,2,3,4);
add5(5,6);

const add6 = add.bind(null, 1,2,3,4,5);
add6(6);

typescript

답변 1

0

제로초(조현영)

https://www.typescriptlang.org/play/?ts=5.5.4#code/GYVwdgxgLglg9mABAQwCaoBTIFxhAWwCMBTAJwBpFDtE8izKIa6SLFVmDXLjP63gfVgEpEAbwBQiRKWJQQpJMkQBqKqsQQNqDcQ3AA3BIC+EiRAQBnKCnQBGRAF5bqAHSEYYTHgA2P4UZoqHYYduQATOQAzOQALOQArOQAbAGIZhZg1i7hTi7unt4gfpR2ARJB4RiRMfFJqUbmVjZBUXlBBV4Yvj6llOHlrRi1iSnCGc0use3onUUliGE1g+ixGHVjjZnZQQkzbh5dPX01cSuoCRj15U1ZLejJ+3Pdxb2LEdFxiefJGA1AA

위 링크보시면 전부다 정상적으로 작동하는 것을 보실 수 있습니다. 원래 마지막은 에러였는데 5.0->5.5버전으로 오면서 해결되었습니다.

데코레이터가 현재도 자주 쓰이는 문법인가요?

0

76

2

유틸리티 타입 실제로 구현은 못해도 하나씩 외우면 실무할 때 지장 없겠죠?

0

63

1

매핑 타입은 type에서밖에 안된다고 하네요?

0

62

2

자바에서의 오버로딩과 같은 개념이라고 생각해도 되나요?

0

67

2

filter 함수 반환 타입 네로잉 질문

0

65

2

map<U>(callbackfn: ....) 할때 U는 왜 여기 있는거에요??

0

44

2

ts 컴파일을 위한 type 라벨링 부분

0

44

1

concat 함수 타입 구현 중 질문 있습니다!

0

99

2

filter 메소드 질문

0

52

1

forEach 제네릭 관련 문의

0

59

1

타입 추론 시 가장 넓은 범위로 추론이 되는 건가요?

0

162

1

enum이 javascript로 트랜스파일링될때 사라진다하셨는데요

0

206

1

함수 파라미터 타입 정의 시 ...args: any[]와 ...args: any 의 차이

0

223

1

Flat type에서 ReadonlyArray 타입을 사용하는 이유?

0

156

1

Lowercase type 관련 질문

0

151

1

key-value 타입 자동추론 질문드립니다

0

264

1

타입스크립트 교과서, p131

0

263

1

타입스크립트 교과서 p122 forEach 메서드 질문

0

231

1

타입스크립트 교과서 p116 , 코드에러남

1

268

1

타입스크립트 교과서 p112 , 코드가 안읽힙니다..

0

263

1

타입스크립트 교과서 p83

1

181

1

타입스크립트교과서 p39 쪽 코드가 이해가 안되요

1

223

1

class 에서 ts의 private vs js의 private field( # )

0

334

1

ts -> js 로 변환할 때 타입선언을 남겨두는걸 추천하는 이유

0

254

1