JS/Javascript

[javascript] 객체 8 / 객체에서의 this

ui-o 2025. 9. 3. 14:35
반응형

객체 메서드에서 this

this

  • this는 현재 실행 중인 함수가 속한 객체를 가리키는 특별한 참조 값
  • 즉, 함수가 호출될 때 누구에 의해 호출되었는지에 따라 달라지는 값
  • 핵심: 함수가 “어디서 호출되었는지”가 중요

객체 메서드에서 this의 동작 원리

  • 객체 안에서 메서드를 정의하고 호출할 때, this는 그 메서드를 호출한 객체 자신을 가리킴
  • 객체 메서드에서는 보통 메서드를 호출한 대상(점(.) 또는 대괄호([])의 왼쪽 값) 이 this가 된다.
    예: obj.method() → this는 obj.
const obj = {
  name: "Alice",
  greet: function() {
    console.log(this.name);
  }
};

obj.greet(); // Alice

 

호출 비교

  1. 메서드 호출 규칙: 객체.메서드() → this는 객체
  2. 독립 함수 호출: 그냥 함수() → this는 기본적으로 undefined (strict mode) 또는 전역 객체(window)
const greetFn = obj.greet;
greetFn(); // undefined (strict mode)
// greetFn은 더 이상 obj와 연결되어 있지 않아서 this는 obj가 아님.

 

반응형