#3 - this

arthyun·2023년 5월 17일
0

JavaScript의 모든것

목록 보기
3/18
post-thumbnail

this란?

Javascript에서 this는 '누가 나를 불렀느냐'를 뜻한다고 합니다.
Javascript에서 this는 호출에 따라 가르키는 것이 달라짐을 의미합니다.

this는 함수를 호출할 때 결정되는 것이며, 전역범위 및 함수에서 사용될때는 전역객체인 window를 가르킨다. 객체에 속한 메소드에서 사용될때 그 메소드의 객체(점 앞에 명시된 객체)를 가르킨다. 객체에 속한 내부함수에서 사용될땐 전역객체를 가르킨다. 생성자에서 사용될때 생성자로 인해 생성된 새로운 객체를 가르킨다. 화살표 함수에서 this는 동적으로 바인딩 되지 않으며 항상 상위 스코프의 실행 컨텍스트를 따라간다.

var x = this;
console.log(x);
  • Window를 바라보는 this
function myFunction() {
  return this;
}
console.log(myFunction());
  • 함수는 Window의 것이기 때문에 this는 window를 바라본다.
var num = 0;
function addNum() {
  this.num = 100;
  num++;
  console.log(num); // 101
  console.log(window.num); // 101
  console.log(num === window.num); // true
}
addNum();
  • this.num은 window에 있는 num을 뜻하기에 전역변수인 num을 바라본다.
profile
Junior Front-End Developer

0개의 댓글