화살표 함수 vs 일반 함수

Viking_J·2024년 9월 15일

핵심: 화살표 함수는 자신이 선언된 컨텍스트의 this를 그대로 상속 받는다.
실천: 메소드에는 화살표 함수를 쓰지 않는다.

const arrow() => {  // 화살표 함수
    
    console.log(arguments);  
    console.log(this); 
  }

function normal() {  // 일반 함수
    console.log(arguments);
    console.log(this);
  },

일반 함수는 어디서 쓰였는지에 따라 this가 달라진다.
그러나 화살표 함수는 선언할 때 상위 스코프의 this를 그대로 사용한다.

일반 함수는 arguments 객체를 가지고 있다.
그러나 화살표 함수는 arguments가 없다.
대신 ...args 같은 스프레드 문법을 사용할 수 있다.
인수 처리를 더 명시적이고 직관적으로 하는 방법이라고 생각된다.

그래서 간결하고 최신인 화살표 함수를 사용할까 한다.
단 this가 사용될 수 있는, 또는 문맥이 중요한 메소드의 경우 일반 함수 사용하자.

profile
모험을 떠나보자

0개의 댓글