call, apply, bind :
함수 호출 방식과 관계없이 this 를 지정할 수 있음
call ( )
call 메서드는 모둔 함수에서 사용할 수 있으며, this 를 특정값으로 지정할 수 있다.
![]() |
![]() |
this.name 실행 시 아무것도 안뜨는 이유는 this 가 window를 가르키고 있기 때문이다.
이때 call 함수를 쓰고 ( ) 안에 this로 사용할 객체를 넘기면
해당 함수가 주어진 객체의 메소드처럼 사용할 수 있다.
![]() |
![]() |
object에 있는 name이 사용되었다.
call의 첫번째 매개변수 = this로 사용될 객체
call의 두번째 매개변수부터.. = 해당 함수가 사용할 매개변수
![]() |
![]() |
name : "nana" 밖에 없던 otherobject에 like와 age가 추가됬다.
apply
call과 비슷하지만 매게변수를 배열로 받는다.
![]() |
![]() |
call과 동일한 결과를 얻는다.
bind
함수의 this값을 영구히 바꿀 수가 있다.
![]() |
![]() |
'자바스크립트' 카테고리의 다른 글
event.preventDefault() (0) | 2021.08.13 |
---|---|
구조분해할당 (0) | 2021.08.08 |
arguments 객체,this 바인딩 (0) | 2021.07.26 |
함수의 다양한 형태 (0) | 2021.07.08 |
함수 객체( 함수도 객체다) (0) | 2021.07.05 |