반응형
객체 메서드에서 this
this
- this는 현재 실행 중인 함수가 속한 객체를 가리키는 특별한 참조 값
- 즉, 함수가 호출될 때 누구에 의해 호출되었는지에 따라 달라지는 값
- 핵심: 함수가 “어디서 호출되었는지”가 중요
객체 메서드에서 this의 동작 원리
- 객체 안에서 메서드를 정의하고 호출할 때, this는 그 메서드를 호출한 객체 자신을 가리킴
- 객체 메서드에서는 보통 메서드를 호출한 대상(점(.) 또는 대괄호([])의 왼쪽 값) 이 this가 된다.
예: obj.method() → this는 obj.
const obj = {
name: "Alice",
greet: function() {
console.log(this.name);
}
};
obj.greet(); // Alice
호출 비교
- 메서드 호출 규칙: 객체.메서드() → this는 객체
- 독립 함수 호출: 그냥 함수() → this는 기본적으로 undefined (strict mode) 또는 전역 객체(window)
const greetFn = obj.greet;
greetFn(); // undefined (strict mode)
// greetFn은 더 이상 obj와 연결되어 있지 않아서 this는 obj가 아님.
반응형
'JS > Javascript' 카테고리의 다른 글
[javascript] 메서드 체이닝(Method Chaining) (0) | 2025.09.03 |
---|---|
[javascript] 객체 9 / 프로토타입(prototype) (0) | 2025.09.03 |
[javascript] 객체 7 / 객체 내장 메서드 (0) | 2025.09.02 |
[javascript] 객체 6 / 객체와 참조 복사 (원시값, 값 복사, 참조 복사, 얕은 복사, 깊은 복사) (0) | 2025.09.02 |
[javascript] 객체 5 / 객체 존재 여부 확인, 반복 (in 연산자, hasOwnProperty(), for...in) (0) | 2025.08.21 |