Judaeng
🍒What I did today(클래스와 인스턴스, this응용 - call, apply, bind 메서드 사용하기) 본문
🍒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
'Daily > TIL(Today I Leared)' 카테고리의 다른 글
🍒What I did today(2개의 Sprint, OOP 응용해보기!) (0) | 2021.03.03 |
---|---|
🍒What I did today(OOP에 대해서 정리) (0) | 2021.03.02 |
🍒What I did today(package.json, 화살표 함수, 모듈화와 CommonJS) (0) | 2021.02.25 |
🍒What I did today(Git Workflow, 충돌 해결, branch 만들어 보기) (0) | 2021.02.24 |
🍒What I did today(ES6 문법정리하기, node.js 설치) (0) | 2021.02.22 |