우리가 알고 있듯이 실행 컨텍스트(EC)는 다음으로 구성됩니다.
가변 환경 스코프 체인
이 키워드따라서 이 키워드를 더 살펴보겠습니다.
JS의 "this"키워드/변수. 이것은 모든 실행 컨텍스트(EC), 즉 모든 기능에 대해 생성되는 특수 변수입니다. 이것은 "this"키워드가 사용된 함수의 소유자 값을 취합니다(또는 가리킴). "this"는 정적이 아니며 함수가 호출되는 방식에 따라 다르며 함수가 실제로 호출될 때만 값이 할당된다는 것을 기억하십시오. 함수는 4가지 다른 방법으로 호출할 수 있다는 것을 알고 있습니다.
ㅏ. 메소드 => this = <메소드를 호출하는 객체>
예: Call to the function moreshwar.calcAge();
참고: _*this *_should/의 값은
moreshwar
입니다.
이제 이것이 메소드를 호출하는 객체라고 말할 수 있습니다. 따라서 이것을 사용하여 이제 객체의 속성에 액세스할 수 있습니다. (this)를 사용하여 속성에 액세스하는 것이 더 나은 솔루션입니다. 비. 단순 함수 호출: 여기서 this = undefined
Note: its is valid only for strict mode
전.
엄격 모드가 아닌 경우 전역 개체/Windows 개체를 가리킵니다. 그러면 더 문제가 될 수 있습니다. 이것이 우리가 항상 엄격 모드를 사용해야 하는 이유입니다. 씨. Arrow 함수를 사용한 함수 호출
즉 ArrowFunctionName => = <사운딩 함수의 this(lexical this)> Arrow 함수에서 "this 키워드"를 얻지 못합니다. 디.
EventListner => this = <DOM elements that handler is attachedto>
따라서 이것은 우리가 사용하는 함수를 가리키지 않으며 객체(상위 객체)를 가리킵니다. 또한 "this"키워드는 함수의 변수 환경을 가리키지 않습니다. 전역 범위의 "this"키워드는 항상 Windows 개체이므로 이 키워드를 정적이 아닌 동적으로 만듭니다.
Reference
이 문제에 관하여(JS의 이 키워드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/moreshwar/this-keyword-in-js-2kol
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)