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

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

::this.handleStuff

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

this.handleStuff.bind(this)

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

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

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

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



답변

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

  • 분석법 추출

    ::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')


답변