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

Hyun Jung·2021년 10월 31일
0

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

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

  • 바인딩 되는 this가 다르다

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

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

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

0개의 댓글