[2021-01-08] 코어 자바스크립트 02 this

전민승·2021년 1월 8일
0

문제 01
Q. 'this의 기능은?'
A. 함수와 객체(메서드)의 구분

문제 02
Q. '자바스크립트에서 this의 결정 순간은?'
A. 기본적으로 실행 컨텍스트가 생성될 때 함께 결정, 즉 함수를 호출할 때 결정

문제 03
Q. 함수와 매서드를 구분하는 차이는?
A. 독립성

문제 04
Q. 자바스크립트에서 메서드란?
A.
반쪽자리 설명: '객체의 프로퍼티에 할당된 함수' /
정확한 설명: 할당한다고 무조건 메서드가 되는 것이 아니라 객체의 메서드로서 호출한 경우에만 메서드로 동작하고, 그렇지 않으면 함수로 동작
=> 어떤 함수를 호출할 때 그 함수 이름(프로퍼티) 앞에 객체가 명시돼 있는 경우에는 메서드로 호출한 것!

문제 05
Q. 'this'에 담기는 정보는?
A. 호출한 주체에 대한 정보

문제 06
Q. 함수 내부에서의 this 지정 여부와 그 이유는?
A. this에는 호출한 주체에 대한 정보가 담기는데 함수로서 호출하는 것은 호출 주체를 명시하지 않고 개발자가 실행한 것이기 때문
따라서 함수에서의 this는 전역 객체를 가리킵니다.

문제 07
Q. 화살표 함수?
A. ES6에서는 함수 내부에서 this가 전역객체를 바라보는 문제를 보완하고자, this를 바인딩하지 않는 화살표 함수를 새로 도입했습니다. 화살표 함수는 실행 컨텍스트를 생설할 때 this 바인딩 과정 자체가 빠지게 되어, 상위 스코프의 this를 그대로 활용할 수 있습니다.

문제 08
Q. 생성자 함수 내부에서의 this
A. 어떤 함수가 생성자 함수로서 호출된 경우 내부에서의 this는 곧 새로 만들 구체적인 인스턴스 자신이 됩니다.

profile
Frontend Developer

0개의 댓글