less than 1 minute read

함수 바인딩

  • this 가 없어질 때는 메서드가 객체에서 값으로 분리 될 때

  • 컨텍스트 유지는 래퍼 함수 사용하여 외부 렉시컬 환경에서 컨텍스트 받아오거나 화살표 함수 사용. 단 함수 호출 전 변경되면 변경된 메서드 호출.

  • func.bind(context, …args) 는 this 가 context 로 고정되고 인수도 고정된 함수처럼 호출 가능한 ‘특수 객체’ 반환

  • bind 는 보통 객체 메서드 this 고정해 어딘가에 넘기고자 할 때 사용. (setTimeout)

  • 객체에 복수의 메서드가 있고 이 메서드 전체 전달 시 반복문 사용하거나 라이브러리 사용

  • 기존 함수의 인수 몇 개를 고정한 함수를 부분 적용 함수 또는 부분 함수

  • partial 은 헬퍼 함수로써 인수 일부는 고정하고 컨텍스트 this는 고정하고 싶지 않을 때 사용

  • 부분 적용은 같은 인수 여러번 반복하지 싶지 않을 때 유용

  • bind 가 반환한 특수 객체인 묶인 함수는 함수 생성 시점의 컨텍스트만 기억해서 컨텍스트 재정의 불가능

  • bind 적용 시 또 다른 객체 반환되므로 새로운 객체엔 기존의 프로퍼티 없어짐

Categories: ,

Updated: