화살표 함수를 쓰면 안되는 경우

김민준·2023년 10월 10일
0

예전에 화살표 함수를 너무 쓰면 안된다고만 들었는데 오늘 한번 검색해서 알아봤다.

안되는 이유는 크게 두가지가 있었다.

  1. 객체의 안에서 화살표 함수를 만들고,this를 사용할 경우 this는 객체가 아니라 상위 스코프인 window 전역 객체를 가르킨다고 한다.
  2. 프로토타입의 경우에도 마찬가지이다.
  3. 코드가 너무 간결해져서, 어떤 경우에는 오히려 더 알아보기 힘든 경우가 있다.

반대로 콜백함수 내에서의 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 화살표 함수는 언제 쓰고, 왜 쓸까?

profile
node 개발자

0개의 댓글

관련 채용 정보