JavaScript 이중 콜론 (바인드 연산자)


129

아시다시피, .bind()기능 에 대한 지름길에 대한 제안이 있으므로 다음과 같이 작성할 수 있습니다.

::this.handleStuff

그리고 es5에서와 같이 작동합니다 :

this.handleStuff.bind(this)

내 질문은 :이 방법으로 인수를 전달할 수 있습니까?

위에서 언급 한 바로 가기로 이것을 작성하는 방법을 의미합니다.

this.handleStuff.bind(this, 'stuff')

React에서 매우 일반적인 패턴이므로 조금 짧게 만드는 것이 좋습니다.


1
부분 적용에 대해 이야기하고 있습니까?
Ben Aston

또 다른 사양 제안에 대한 좋은 아이디어처럼 보입니다.
Greg Herbowicz

답변:


154

아니오 결합 연산자 ( 사양 제안은 ) 두 가지 유형이있다 :

  • 분석법 추출

    ::obj.method      obj.method.bind(obj)
  • "가상 메소드"호출

    obj::function     function.bind(obj)
    obj::function(…)  function.call(obj, …)
    

그들 중 어느 것도 부분적 적용을 특징으로하지 않는다 . 원하는 것을 위해서는 화살표 기능을 사용해야합니다.

(...args) => this.handleStuff('stuff', ...args)  this.handleStuff.bind(this, 'stuff')

4
( 부분 적용 지원에 대한 논의 가있었습니다 )
Bergi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.