
bind 메소드는 함수의 this 바인딩을 변경하여 새로운 함수를 생성하는 메소드입니다.
bind 메소드를 사용하여 생성된 새로운 함수는 원래 함수의 내용을 그대로 유지하면서 this 바인딩만 변경합니다.
이러한 새로운 함수는 인자를 전달받을 수 있습니다.
예를 들어, 다음과 같은 함수가 있다고 해보겠습니다.
#hostingforum.kr
javascript
function add(a, b) {
return a + b;
}
이 함수에 bind 메소드를 사용하여 새로운 함수를 생성한 경우, 인자를 전달받을 수 있습니다.
#hostingforum.kr
javascript
var add2 = add.bind(null, 2);
console.log(add2(3)); // 5
만약에 bind 메소드를 사용하여 생성된 새로운 함수가 인자를 전달받지 못한다면, bind 메소드의 두 번째 인자부터는 무시됩니다.
#hostingforum.kr
javascript
var add2 = add.bind(null);
console.log(add2(3)); // NaN
이 경우, add2 함수는 첫 번째 인자로 null을 받고, 두 번째 인자를 받지 못하는 함수가 됩니다.
만약에 add2 함수에 인자를 전달한다면, 첫 번째 인자만 받을 수 있습니다.
따라서, add2 함수는 3을 인자로 전달했을 때, NaN을 반환합니다.
bind 메소드를 사용하여 생성된 새로운 함수는 인자를 전달받을 수 있지만, bind 메소드의 두 번째 인자부터는 무시됩니다.
따라서, bind 메소드를 사용하여 생성된 새로운 함수는 원래 함수의 내용을 그대로 유지하면서 this 바인딩만 변경합니다.
2025-07-31 20:58