ES6 'this'

김보성·2021년 2월 27일
0

JavaScript

목록 보기
7/11

this...
엄청 낯설었다. 이전에 파이썬을 배웠던 나에게 이거뭐야 했던 문법이였다.
차근차근 정리해보자

this??

this는 함수 실행시 결정된다는 특징을 가지고 있다.
함수가 무엇인가가 중요한게 아니라 함수가 어떻게 실행되는지 살펴봐야 한다.

함수 실행에 따른 this 바인딩 패턴

함수 실행에 따른 this 바인딩 패턴은 4가지가 있다.
(1.function호출, 2.method 호출, 3. new 키워드를 이용한 생성자 호출, 4. .call, .apply 호출)
그 중에서 함수 호출에서는 잘 사용하지 않는다고 한다. 그래서 나머지 3가지에 따라 this가 어떻게 다르게 결정되는지 봐보자.

1. Method 호출 시
this 값은 부모 객체가 된다.(실행 시점에서 온점 왼쪽에 있는 객체)
하나의 객체에 값과 연관된 메소드를 묶어서 사용할 때 주로 사용함
2. new 키워드를 이용한 생성자 호출
this 값은 새롭게 생성된 instance 객체가 된다.
주로 oop(객체지향 프로그래밍) 에서 사용한다.
3. .call, .apply 호출
this 값은 첫번째 인자로 전달된 객체가 된다.
this 값을 특정할 때 사용하며, 특히 apply의 경우 배열의 엘리먼트를 풀어서 인자로 넘기고자 할 때 유용하다.

화살표함수와 this

이거이거 같이 쓰면 안된다고 함.
화살표함수는 어떠한 경우에도 this를 결정하지 않는다고 한다.

profile
Boseong

0개의 댓글