var person = {인사 : function() {
console.log(this.name) }
var person2 = {name : 'a'}
내가 다른 오브젝트에 있는 함수를 일시적으로 가져와서 쓰고싶을 때 사용
person.인사.apply(person2,(함수파라미터)) - person에 있는 인사라는 함수를 person2에 파라미터에 뭐를 넣어서 apply하고싶다는 뜻
적용하면 this가 person2 오브젝트를 가르키기 때문에 a 가 나온다.
call도 똑같은 함수인데 apply는 저 파라미터 자리에 array를 넣을 수 있지만 call은 안된다고함
이래서 this가 되게 유용한 함수라는건가 싶음..
person.인사.apply(person2, [1,2] )
person.인사.call(person2, 1,2)
...문법이 없을때 array를 파라미터에 집어넣고싶을때 썼다고함
function sum(a,b,c) {return a+b+c }
...이 없다면 sum(arr.[0], arr[1], arr[2]) 이렇게 해줘야되는데 이걸
sum.apply(undefined(이거말고 아무거나 넣어도됨, arr) 해주면 array상태로 파라미터에 넣기 가능 ( apply에 별 의미는없음 )
요즘은 그냥 ...쓰면됨
'JS' 카테고리의 다른 글
prototype (0) | 2022.10.01 |
---|---|
파라미터 값 array로 저장하는 기능 - arguments / rest (0) | 2022.09.30 |
spread operator (0) | 2022.09.30 |
JS setTimeout / setInterval (0) | 2022.09.21 |
Arrow Function (0) | 2022.09.21 |