반응형
this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수이다.
this는 자바스크립트 엔진에 의해 암묵적으로 생성되며, 코드 어디서든 참조 가능하며
this가 가리키는 값은 호출 방식에 의해 동적으로 결정된다.
// this는 어디서든지 참조 가능
// 전역에서 this는 전역 객체 window를 가리킨다
console.log(this); // window
function square(number){
// 일반 함수 내부에서 this는 전역 객체 window를 가리킨다.
console.log(this); // window
return number * number;
}
square(2);
const person = {
name : 'lee',
getName(){
// 메서드 내부에서 this는 메서드를 호출한 객체를 가리킨다.
console.log(this); // {name: 'lee', getName: ƒ}
return this.name
}
};
person.getName();
function Person(name){
this.name = name;
//생성자 함수 내부에서 this는 생성자 함수가 생성할 인스턴스를 가리킨다.
console.log(this); // Person {name: 'lee'}
}
new Person('lee');
new Person('kim');
this는 함수 호출 방식에 따라 동적으로 결정!!!
일반 함수로 호출할 경우 this는 전역 객체
메서드로 호출 할 경우 호출한 객체
생성자 함수를 호출할 경우 생성자 함수가 생성할 인스턴스
반응형
'자바스크립트' 카테고리의 다른 글
리액트 프레임워크 Next.js! Gatsby! (0) | 2022.06.03 |
---|---|
[자바스크립트] 자바스크립트로 웹 크롤링 하기 (0) | 2022.05.27 |
[자바스크립트] 프로토타입 쉽게 이해하기 (0) | 2022.04.23 |
자바스크립트 동작 원리 (0) | 2022.04.20 |
[자바스크립트] 옵셔널 체이닝 (0) | 2022.03.28 |