JS의 이 키워드

우리가 알고 있듯이 실행 컨텍스트(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 개체이므로 이 키워드를 정적이 아닌 동적으로 만듭니다.
  • 좋은 웹페이지 즐겨찾기