안녕하세요

[OOP] evnetListener와 this 본문

스터디/코딩애플

[OOP] evnetListener와 this

sakuraop 2022. 11. 29. 18:54

eventlistener 콜백함수 안에서  this는 e.currentTarget을 가리킨다.  


오브젝트 안에서 함수를 동작시키면 this는 window를 가리킨다.

const 숫자관련 = {

  슷자세기 : function(){
      오브젝트.숫자.forEach(function(){
        console.log(this) // window
      });
  }
}


화살표 함수로 오브젝트 안의 함수를 동작시키면 this는 오브젝트 안의 함수를 가리킨다.

 

const 숫자관련 = {

  슷자세기 : function(){
      오브젝트.숫자.forEach(function(){
        console.log(this) // { 함수:f }
      });
  }
}


🔻🔻🔻
이벤트리스너에서 function으로 함수를 만들면 this는 window
이벤트리스너에서 화살표함수로 만들면 this는 Id "버튼"을 가리킴 

선택한 tag는 오브젝트라고 생각하면 될 듯 함.


  document.getElementById('버튼').addEventListener('click', function(){
    setTimeout(()=>{ console.log(this.innerHTML) }, 1000); 
  });