dev.syw
언어 · 문법

화살표 함수 vs 일반 함수

화살표 함수는 this를 바깥에서 가져오고, 일반 함수는 호출 방식에 따라 this가 정해집니다.

두 함수 정의 방식은 this 바인딩과 일부 기능에서 다릅니다.

구분화살표 함수일반 함수
this상위 스코프의 this(고정)호출 방식에 따라 결정
arguments없음있음
생성자(new)불가능가능
호이스팅안 됨(표현식)함수 선언은 됨

화살표 함수를 쓸 때

콜백이나 메서드 내부 함수에서 바깥 this를 그대로 쓰고 싶을 때 사용합니다.

일반 함수를 쓸 때

메서드, 생성자, this가 동적으로 바뀌어야 하는 경우에 사용합니다.

결론

콜백에는 화살표 함수가 편리하지만, 객체 메서드나 생성자에는 일반 함수가 맞습니다. this 동작 차이를 이해하는 게 핵심입니다.

← 개발 개념 비교 전체 보기