본문 바로가기
Javascript

call , apply, bind

by jisung-kim 2023. 8. 1.

call 모든 함수에서 사용할 수 있으며, this를 특정값으로 지정할 수 있다.

const kim = {
	name: 'Kim'
};

const lee = {
	name: 'Lee'
};

function showThisName(){
	console.log(this.name);
}

function update(brithYear, occupation){
	this.brithYear = brithYear;
    this.occupation = occupation;
};

update.call(kim,1999,"backend");
update.call(tom,2002,"frontend");

 


apply 함수 매개변수를 처리하는 방법을 제외하면 call과 같다.

다만 call은 일반적인 함수와 마찬가지로 매개변수로 직접 받지만, apply는 매개변수로 배열을 받습니다.

const kim = {
	name: 'Kim'
};

const lee = {
	name: 'Lee'
};

function showThisName(){
	console.log(this.name);
}

function update(brithYear, occupation){
	this.brithYear = brithYear;
    this.occupation = occupation;
};

update.call(kim, [1999,"backend"]);
update.call(tom, [2002,"frontend"]);
const nums = [3,10,1,6,4];

const minNum = Math.min(...nums);
const maxNum = Math.max(...nums);

==

const minNum = Math.min.apply(null,nums);
const maxNum = Math.max.apply(null,nums);


==

const minNum = Math.min.apply(null,...nums);
const maxNum = Math.max.apply(null,...nums);

bind 함수의 this값을영구히 바꿈.

const kim = {
	name: 'kim',
}

function update(brithYear, occupation){
	this.birthYear = brithYear;
    this.occupation = occupation;
}

const updateMike = update.bind(kim);

updateMike(1980, 'police');

 

 

'Javascript' 카테고리의 다른 글

Promise, async / await  (0) 2023.08.01
전개구  (0) 2023.08.01
array methods (2)  (0) 2023.07.31
Array Methods  (0) 2023.07.31
toFixed(), isNaN(), parseInt()  (0) 2023.07.31