For Programmer

자바스크립트 - call 과 bind 본문

Programming language/JavaScript

자바스크립트 - call 과 bind

유지광이 2020. 7. 26. 17:25
728x90

call 이란?

출력결과

* call은 어떠한 함수를 실행할때마다 인자를 지정해줘서 this값을 해당 인자로 바꾸는 것을 말한다.따라서 this를 설정해주는 메서드라고 생각하면 된다. 함수.call(해당 함수 this에 들어갈 인자 , 해당함수의 파라미터 .....) 형식이다.

bind란?

 

출력결과

*어떤 함수의 this값을 영구적으로 고정시켜주는 새로운 함수를 만들어내는것을 말한다. call과는 거의 비슷하지만 var kimSum = sum2.bind(kim, 인자,인자..) 와같이 새로운함수로 반환해준다는 것만 기억하면된다.  구조는 똑같다.

 

call 메서드를 활용한 상속

*함수도 객체이기때문에 상속할때 객체상속방식을 이용할 수있다.(1st,2nd방식) 또한 기본적으로 많이쓰는 방식은 3th상속방식이다.

* 상속에서 에러가 하나 발생하는데 상속하게되면 constructor가 원래는 자기자신을 가리켜야하는데 부모를 가리키게된다. 따라서 수동으로 자신을 가리키게끔 설정을 해줘야한다.

 

* 위의 상속을 class를 사용하여 구현해보기

728x90
Comments