this는 자바스크립트 객체 내부에서 자기 자신을 가리킬때 사용하는 키워드이다.
지금 콘솔창에 console.log(this)를 입력하면 window객체가 출력되는것을 확인할 수 있을것이다.
다음 코드를 살펴보자.
1
2
3
4
5
6
7
8
|
let elephant = {
name : 'jane',
gender : 'female',
yearOfBirth : 2010,
calculateAge : function(){
console.log(2019 - this.yearOfBirth);
}
}
|
cs |
elephant.calculateAge()를 실핼하면 9가 출력된다.
그렇다면 메소드 함수의 this.yearOfBirth가 elephant.yearOfBirth라는것을 알 수 있다.
위 객체와 같은 메소드를 가진 eagle 객체가 있다고 가정하자.
eagle.calculateAge = elephant.calculateAge 후 eagle객체의 함수를 실행시켜보면 eagle 객체의 메소드가 적용되어 작동하는것을 확인 할 수 있을것이다.
주의할 점은 객체 내부에 선언되었더라도 메소드로 선언되지 않을 경우, this는 window 객체를 가리키게 되므로 반드시 메소드로 선언했을 경우에 사용 가능하다.
'웹 > JavaScript' 카테고리의 다른 글
-JavaScript- Hoisting이란? (0) | 2019.03.22 |
---|---|
-JavaScript- Execution Context와 Execution Stack (0) | 2019.03.20 |
-JavaScript- 배열(array) (0) | 2019.03.13 |
JavaScript 문자열 기초 사용 (0) | 2019.01.24 |
-JavaScript- 비교연산자 '=='과 '==='의 차이 (0) | 2019.01.04 |