apply() 함수
어떤 함수를 또다른 object에서 사용하고 싶을때 쓴다.
var person = {
인사 : function(){
console.log(this.name + '안녕')
}
}
var person2 ={
name : '모아나'
}
person.인사 함수를 또다른 object에서 사용하고 싶을때
가져오고 싶은 함수.apply(적용하려 하는 또다른 object, 파라미터(생략가능) )
person.인사.apply(person2); //모아나안녕
person.인사(); //undefined안녕
.apply 이용해서 함수의 파라미터 자리에 배열 넣기
function plus(a,b,c){
console.log(a+b+c);
};
let aarray = [22, 44, 66];
plus.apply(undefined, aarray);
undefined 하는 이유
아무곳에도 적용,실행 하지 못하게 하려고. 그냥 생으로 plus함수 실행됨.
그렇지만 비워두면 문제생겨서 아무값이나 넣은거.
call( ) 함수.
.apply( ) 함수와 실행 결과, 사용법이 똑같다.
person.인사.call(person2) //apply 한것과 동일한 값이 나온다.
apply() 와 call () 차이점
apply는 파라미터를 array 형태로 집어넣을 수 있다.
person.인사.apply(person2, [1, 2]);
call은 파라미터를 그냥 집어넣어야 함.
person.인사.apply(person2, 1, 2);
'JS (Java Script)' 카테고리의 다른 글
arguments 에 대해서.. (함수의 파라미터 모두를 한꺼번에 다루고 싶을 때) (0) | 2023.09.06 |
---|---|
함수의 default 파라미터 (자바스크립트 no 엄격) (0) | 2023.09.06 |
이러터블 객체와 유사배열 (iterable) (array-like) (0) | 2023.09.06 |
spread operator (깊은복사, 함수의 파라미터로 배열 넣기) (0) | 2023.09.06 |
템플릿리터럴 / tagged literal / backtick(backquote) (0) | 2023.09.05 |