[Javascript] 일반 함수 vs 화살표 함수

Hyun Jung·2021년 10월 31일

ES6 이전에는 함수를 선언하기 위해 함수 표현식과 함수 선언식을 이용했다.
하지만 ES6 이후 화살표 함수가 등장하면서 함수 선언 방법이 달라졌다.

일반 함수와 화살표 함수의 차이점은?

  • 바인딩 되는 this가 다르다

    • this는 메소드가 선언된 해당 객체를 가리킬 때 사용된다.
    • 일반 함수에서는 this가 동적으로 바인딩 되지만
      화살표 함수의 this는 바로 상위 스코프의 this를 가리킨다.

  • 생성자 함수로 사용 가능 여부

    • 생성자란?
      • 생성자 함수는 함수가 정의될 때 자동으로 생성되는 함수의 prototype 객체의 constructor를 이용하여 객체를 만드는 역할을 수행하는 것
    • 일반 함수는 생성자 함수로 사용할 수 있지만
      화살표 함수는 생성자 함수로 사용할 수 없다.
      • 왜냐하면, 화살표 함수는 prototype을 가지고 있지 않기 때문에
profile
Fontend Engineer

0개의 댓글