[JS] call()

냐옹·2023년 8월 27일
0

JS

목록 보기
1/6
post-thumbnail

자바스크립트에서 call 함수는 Function.prototype의 메서드로 주어진 this 값과 함께 단일 함수를 호출하도록 사용된다.

func.call(thisArg, arg1, arg2, ... );
  • func : 호출하려는 함수
  • thisArg : 함수 내부에서 this로 사용할 객체
  • arg1, arg2, ... : 함수에 전달될 인수들
function greet(greeting, puctuation){
	console.log(greeting + ", " + this.name + puctuation);
}

var person1 = {name: 'Alice'};
var person2 = {name: 'Bob'};

// call 메서드를 사용하여 this를 person1로 설정하고 greet 함수 호출
greet.call(person1, 'Hello', '!');	// 출력 Hello, Alice!
greet.call(person2, 'Hi', '!');	// 출력 Hi, Bob!

사용되는 경우

메서드 빌리기

하나의 객체에 정의된 메서드나 함수를 다른 객체에 대해 사용하려는 경우 call을 사용할 수 있다.

특정 컨텍스트에서 함수 실행

함수나 메서드가 특정 객체의 컨텍스트 (즉, this값)에서 실행되어야 할 때 유용하다.

비슷한 메서드

apply

비슷한데 인수를 배열로 받음

bind

유사하게 동작하는데, 새로운 함수를 반환하고, 나중에 호출할 수 있음

0개의 댓글