예전에 화살표 함수를 너무 쓰면 안된다고만 들었는데 오늘 한번 검색해서 알아봤다.
안되는 이유는 크게 두가지가 있었다.
this를 사용할 경우 this는 객체가 아니라 상위 스코프인 window 전역 객체를 가르킨다고 한다.반대로 콜백함수 내에서의 this를 부를 때 화살표 함수를 사용하는 방법도있다고한다.
let obj = {
myVar: 'foo',
myFunc: function() {
console.log(this.myVar)
setTimeout(() => {
console.log(this.myVar)
}, 1000)
}
}
obj.myFunc() // foo ... then... foo
[JavaScript]화살표 함수를 사용하면 안 되는 경우
[Javascript] ES6 화살표 함수는 언제 쓰고, 왜 쓸까?