[js] bind

0

js

목록 보기
1/6

bind는 JavaScript에서 함수를 호출할 때 사용되는 메서드입니다. bind 메서드를 사용하면 함수에 새로운 컨텍스트와 인자를 지정할 수 있습니다.

bind 메서드는 다음과 같은 구문을 갖습니다:

function.bind(thisArg[, arg1[, arg2[, ...]]])
  • function: 컨텍스트를 변경하고자 하는 함수입니다.
  • thisArg: 함수가 실행될 때 this 키워드로 사용될 객체입니다.
  • arg1, arg2, ...: 함수에 전달할 인자들입니다.

이 메서드를 사용하면 함수 내에서 this 키워드로 참조되는 객체를 지정하고, 추가적인 인자를 전달할 수 있습니다. bind 메서드는 호출되면 원본 함수의 복사본을 반환하므로, 원본 함수를 수정하지 않고도 컨텍스트와 인자를 변경할 수 있습니다.

const obj = {
  name: 'Alice',
  sayHello: function(message) {
    console.log(message + ', ' + this.name);
  }
};

const boundFunc = obj.sayHello.bind(obj, 'Hi');
boundFunc(); // 출력: "Hi, Alice"

위의 예시에서 bind 메서드의 첫 번째 인자인 thisArg에는 obj 객체를 전달했습니다. 따라서 boundFunc 함수가 실행될 때 thisobj 객체를 가리킵니다. 두 번째 인자인 arg1에는 'Hi'를 전달했으므로, boundFunc 함수가 호출될 때 'Hi'sayHello 함수에 첫 번째 인자로 전달됩니다. 결과적으로 출력은 "Hi, Alice"가 됩니다.

즉, thisArgbind 메서드가 호출될 때 함수 내부의 this 바인딩될 객체를 의미하고, arg1, arg2 등은 해당 함수에 전달할 인자들을 의미합니다. 이렇게 bind 메서드를 사용하여 함수의 컨텍스트와 인자를 지정할 수 있습니다.

profile
지치지 않는 백엔드 개발자 김성주입니다 :)

0개의 댓글