자바스크립트/Javascript 참고자료

[javascript] 화살표함수와 ()=> this

Rust Choi 2019. 12. 16. 17:13
var myObj = { 
  myText: "hi!",
  myFunc: function(){
    setTimeout(function(){
      console.log(this.myText);
    }, 1000)
  },
  myFunc2: function(){
    setTimeout(()=>console.log(this.myText), 1000);
  }
};

myObj.myFunc(); // undefined
myObj.myFunc2(); // "hi!"

 

myFunc2의 화살표 함수 () => 는 this가 바인딩되지 않기 때문에 상위 스코프인 myObj의 this를 바라본다.

반면 myFunc는 익명함수를 사용하여 undefined.

 

 

참조 : https://www.a-mean-blog.com/ko/blog/%ED%86%A0%EB%A7%89%EA%B8%80/_/Javascript-%ED%99%94%EC%82%B4%ED%91%9C-%ED%95%A8%EC%88%98-Arrow-Functions