apply 메서드는 주어진 this
값과 배열
(유사 배열)로 제공되는 arguments로 함수를 호출합니다.
<aside>
💡 이 함수의 구문은 거의 call() 구문과 유사합니다. 근본적인 차이점은
call()
은 함수에 전달될 인수 리스트를 받는데 비해,
apply()
는 인수들의 단일 배열을 받는다는 점입니다.
</aside>
func.apply(thisArg, [argsArray]);
func를 호출하는데 제공될 this의 값
non-strict mode
코드의 함수일 경우, null
과 undefined
가 전역 객체로 대체되며, 기본 값은 제한됩니다.func 이 호출되어야 하는 인수를 지정하는 유사 배열 객체
let nameObj = { name: 'minngki' };
let test = function (city) {
return `Hello ${this.name}, Welcome to ${city}`};
console.log(test.apply(nameObj, ['Seoul'])); // 'Hello minngki, Welcome to Seoul'
이미 존재하는 함수를 호출할 때 다른 this
객체를 할당할 수 있습니다. this
는 현재 객체, 호출하는 객체를 참조합니다.