Judaeng

🍒What I did today(클래스와 인스턴스, this응용 - call, apply, bind 메서드 사용하기) 본문

Daily/TIL(Today I Leared)

🍒What I did today(클래스와 인스턴스, this응용 - call, apply, bind 메서드 사용하기)

Judaeng 2021. 3. 1. 02:12

call, apply, bind 메서드 사용하기

this 값을 지정하고 싶을 때 사용하는 메서들인 call, apply, bind 메서드가 무엇인지, 어떻게 사용하는 지 예시를 보면서 배웠다.

this를 지정하는 것 뿐만 아니라 Spread Opeator를 대신해서 쓸 수도 있고, 배열이 아닌 데이터 타입에 배열 메서드를 적용하는 일까지 가능했다.

이 부분은 따로 정리를 해야될 것 같다. 물론 this에 대한 정리도 같이 해야될 것 같다.

 

상황의 따라 바뀌는 this 알아보기

전역이나 함수로 불렸을 때 this는 전역객체가 되지만, 메서드나 콜백함수로 호출 되었을 때는 호출 주체가 this가 된다. 또 생성자 함수로 호출되면 새 인스턴스 객체가 this가 되기도 한다.

어려운 개념이었는데 Koans 문제를 풀면서 다양한 상황에서의 this값들을 비교해볼 수 있었다.

 

 

🍒Remember


상황에 따라 달라지는 this 값

전역 변수 : 전역 객체
함수 호출 : 전역 객체
메서드 호출 : 호출 주체 (메서드명 앞 객체) => 메서드 호출 방식을 이용할 때는 화살표 함수를 쓰지 않는다.
콜백 함수 : 호출 주체 (제어권 가진 함수, 정의X시 전역 객체)
생성자 함수 : 새 인스턴스 객체
call, apply 호출 : 첫번째 인자가 this

 

화살표함수(=>)와 this

화살표 함수는 호출 시 this 바인딩을 하지 않는다.

대신 접근 시 스코프 체인상에서 자신과 가장 가까운 this에 접근한다.

이해를 도울 예시가 여기있다!

 

🍒More Study


call, apply, bind 메서드, this응용 정리하기

module.exports와 global이 무엇인지 정리

 

2021-02-25

Comments