자주 사용하는 함수 표현식인 화살표 함수는 분명히 일반 함수와는 형태로도 기능적으로도 차이가 존재한다는 것을 알고 있다
그래도 좀 더 자세히 알고 사용해보자
혹시 화살표 함수가 뭐냐면 ES6에서 추가된 함수이며 화살표 함수는 기존 함수 표현식에 비해 간단하게 표현이 가능하다
function 일반함수() {
...
}
const 화살표함수 = () => {
...
}
차이점
이제 차이점을 알아보자
우선 결과적으로 정리하자면 총 3가지 차이점이 존재한다
- this
- 생성자 함수 사용 여부
- Arguments 사용 여부
this
일반 함수 먼저 알아보자
일반 함수는 함수를 선언할 때 this에 바인딩할 객체가 동적으로 결정된다
화살표 함수는 일반 함수와 반대로 정적으로 결정되며 항상 상위 스코프의 this를 가리킨다
생성자 함수 사용 여부
prototype 프로퍼티를 가지고 있냐 아니냐에 따라 사용 여부가 결정되는데
일반 함수는 사용 O, 화살표 함수는 prototype 프로퍼티가 있기 때문에 사용 X이다
arguments 사용 가능 여부
일반 함수에서는 함수가 실행될때 암묵적으로 인자가 전달된다
반면 화살표 함수에서는 인자가 암묵적으로 전달되지 않는다
'프론트엔드 > JavaScript' 카테고리의 다른 글
브라우저 렌더링 과정에 대해 알아보자 (0) | 2023.02.12 |
---|---|
자바스크립트에서 this란 대체 무엇일까? (0) | 2023.02.10 |
ChatGPT 활용해보기 (0) | 2022.12.22 |
DAO, DTO, VO 개념 정리 (0) | 2022.12.06 |
자바스크립트 텍스트 클립보드 복사하기 ( Clipboard JS ) (0) | 2022.12.03 |