2021년07월11일
수정하기
문서 생성 2021-07-11 22:45:32 최근 수정 2021-07-11 23:05:31
Note
JavaScript
this
this
는 상황에 따라 바라보는 대상이 달라지는데, 기본적으로 실행 컨텍스트가 생성될 때(함수를 호출할 때) 결정된다.- 전역 공간에서는 전역 객체를 가리킨다.
var a = 1
로 전역 공간에서 선언하면a
와window.a
와this.a
의 값은 같다.- 자바스크립트의 모든 변수는 특정 객체의 프로퍼티로서 동작하기 때문. 그 특정 객체는 바로 실행 컨텍스트의 LexicalEnvironment
- 메서드 내부에서
this
- 함수는 그 자체로 독립적인 기능 수행, 메서드는 자신을 호출한 대상 객체에 관한 동작을 수행
- 어떤 함수를 객체의 프로퍼티로 할당한다고 해서 메서드가 아니라, 객체의 메서드로 호출할 경우에만 메서드로 동작하고 그렇지 않다면 함수로 동작
- 함수로서의 호출과 메서드로서의 호출은 함수 앞에 점(
.
)의 여부 this
에는 호출한 주체의 대한 정보가 담긴다. 메서드 호출시this
는 점 앞에 표기된 객체- 함수로 호출하는 것은
this
가 지정되지 않는다. 전역 객체를 가리킨다.- 설계상 오류라고 한다.
log
- 이런저런 일정을 소화하고 나니 시간이 10시 30분이었다... 그래도 책상에 앉은 나에게 박수를 보낸다. 👏👏👏