1. 인자를 지정해주기
function add(a, b) {
return a + b;
}
// add 함수에서 첫 번째 인자를 1로 고정시킨 함수를 반환한다.
let add1 = add.bind(null, 1);
add1(2); // 고정된 1과 인자로 들어간 2가 더해져 3을 반환한다.
2. this를 지정해주기
function getThis() {
return this;
}
// getThis 함수에서 this로 참조하는 값을 []로 하는 함수를 반환한다.
let getArray = getThis.bind([]);
getArray(); // this로 지정된 []를 반환한다.
3. setTimeout 예제
function Message() {
this.firstMessage = function() {
console.log('Hello');
}
}
let obj = new Message();
// 3초뒤에 첫번째 인자의 함수 실행
setTimeout(obj.firstMessage.bind(obj), 3000);
// setTimeout에 들어갈 때 this는 window 객체를 가리키게 되는데
// 모든 메소드에 들어 있는 bind 메소드를 써야
// 함수 안에서 this를 사용할 때 객체를 정확히 가리킬 수 있다.
'자바스크립트 > 메소드' 카테고리의 다른 글
자바스크립트 apply와 call 메소드 (0) | 2020.01.22 |
---|---|
자바스크립트 배열(Array) 정렬하는 sort 메소드 (0) | 2020.01.22 |
자바스크립트 배열(Array) 메소드 (0) | 2020.01.15 |
자바스크립트 스트링(String) 메소드 (0) | 2020.01.15 |