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

'자바스크립트 > Javascript 참고자료' 카테고리의 다른 글

정규표현식 정리  (0) 2019.11.21
jQuery 테이블 셀병합 (rowspan)  (0) 2019.11.19
[ES6] for ~ of의 활용  (0) 2018.12.27
[ES6] ES6 , let과 const  (0) 2018.12.27
[ES6] spread operator와 from 메소드  (0) 2018.12.27

+ Recent posts