Javascript를 공부하게 되면 자주 보게 되는 단어 this
this란 말 그대로 이것
, 무엇인가를 가르키는 지시어이다.
Javascript의 this도 객체를 가리키는 지시어인데, 동적 언어인 Javascript에서는 this를 호출하는 곳에 따라서 값이 달라진다.
다음의 코드를 살펴보자
function printThis(){
console.log( this );
}
const person1 = {
name : "Max",
whoIsThis : printThis
};
const person2 = {
name : "Elly",
whoIsThis : printThis
};
const person3 = {
name : "Kim",
whoIsThis : printThis
};
이와 같은 코드가 있을 때 각각을 출력해보자
printThis(); // Window { ... }
person1.whoIsThis(); // { name : "Max", whoIsThis: f }
person2.whoIsThis(); // { name : "Elly", whoIsThis: f }
person3.whoIsThis(); // { name : "Kim", whoIsThis: f }