call, apply, bind 메소드
func.call(thisArg[, arg1[, arg2[, ...]]])
func.apply(thisArg, [argsArray])
func.bind(tihsArg[, arg1[, arg2[, ...]]])
첫번째 인자는 this가 될 대상을 지정
두번째 인자부터는 매개변수가 된다.
call 과 apply의 차이는 두번째부터 쭉 나열해서 매개변수를 받느냐
아니면 두번째 인자 하나에 배열로 합쳐서 하나의 인자로 받느냐의 차이일 뿐이다.
call과 apply는 즉시 호출하는 명령이다. 반면 bind는 새로운 함수를 생성 할 뿐 호출을 하지는 않는다.
function a(x, y, z) {
console.log(this, x, y, z);
}
var b = {
c: 'eee'
};
a.call(b, 1, 2, 3);
a.apply(b, [1, 2, 3]);
var c = a.bind(b);
c(1, 2, 3);
var d = a.bind(b, 1, 2);
d(3);
'Web > Javascript' 카테고리의 다른 글
PROTOTYPE (0) | 2018.01.15 |
---|---|
클로저(CLOSURE) (0) | 2018.01.11 |
THIS (0) | 2018.01.11 |
함수 (0) | 2018.01.11 |
DATA TYPES (0) | 2018.01.11 |