면접준비

JS의 this란???

MotherCarGasoline 2022. 6. 6. 11:58

❗️this는?

  • this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수(self-reference variable)이다.
  • this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다.
  • this는 자바스크립트 엔진에 의해 암묵적으로 생성된다.
  • this는 코드 어디서든 참조할 수 있다.
  • 하지만 this는 객체의 프로퍼티나 메서드를 참조하기 위한 자기 참조 변수이므로
    일반적으로 객체의 메서드 내부 또는 생성자 함수 내부에서만 의미가 있다.
  • 함수를 호출하면 인자와 this가 암묵적으로 함수 내부에 전달된다.
  • 함수 내부에서 인자를 지역 변수처럼 사용할 수 있는 것처럼, this도 지역 변수처럼 사용할 수 있다.
  • 단, this가 가리키는 값, 즉 this 바인딩은 함수 호출 방식에 의해 동적으로 결정된다.
  • 크게 전역에서 사용할 때와 함수안에서 사용할 때로 나눌 수 있다.

 

JavaScript에서 this의 값은 결정되어 있지 않습니다. 문맥에 따라 그 값이 바뀌죠.

대부분의 경우 this의 값은 함수를 호출한 방법이 결정합니다. 실행하는 중 할당으로 설정할 수 없고 함수를 호출할 때 마다 다를 수 있습니다.

이 말은, 일반적으로 JavaScript에서는 this가 무식하게 하나로 정해져 있는 게 아니라는 것입니다. 즉 this의 값이 내가 어디에서 어떻게 호출하느냐에 따라 변한다는 것!

 

  • this는 이처럼 어떤 위치에 있느냐, 어디에서 호출하느냐, 어떤 함수에 있느냐에 따라 참조 값이 달라지는 특성이 있다.

 

 

this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수(self-reference variable)입니다. 이는 정해진 값이 없으며 문맥에 따라 값이 달라져 호출할 객체를 바인딩하여 값을 표시합니다

https://www.zerocho.com/category/JavaScript/post/5b0645cc7e3e36001bf676eb

https://wormwlrm.github.io/2019/03/04/You-should-know-JavaScript-this.html.html

https://hanamon.kr/javascript-this%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C/