ES6 이전에는 함수를 선언하기 위해 함수 표현식과 함수 선언식을 이용했다.
하지만 ES6 이후 화살표 함수가 등장하면서 함수 선언 방법이 달라졌다.
일반 함수와 화살표 함수의 차이점은?
-
바인딩 되는 this가 다르다
- this는 메소드가 선언된 해당 객체를 가리킬 때 사용된다.
- 일반 함수에서는 this가 동적으로 바인딩 되지만
화살표 함수의 this는 바로 상위 스코프의 this를 가리킨다.
-
생성자 함수로 사용 가능 여부
- 생성자란?
- 생성자 함수는 함수가 정의될 때 자동으로 생성되는 함수의 prototype 객체의 constructor를 이용하여 객체를 만드는 역할을 수행하는 것
- 일반 함수는 생성자 함수로 사용할 수 있지만
화살표 함수는 생성자 함수로 사용할 수 없다.
- 왜냐하면, 화살표 함수는 prototype을 가지고 있지 않기 때문에