함수 선언식과 화살표 함수 차이
function 문법과 화살표 함수가 둘 다 보여서 어떤 방식으로 작성해야 할지 모르는 상황
- 문제 상황 확인
- 짧은 코드로 재현
- 브라우저에서 결과 점검
함수 선언식과 화살표 함수 차이에서 먼저 볼 부분
두 방식 모두 함수를 만들 수 있지만, 작성 위치와 this 처리 방식에서 차이가 있습니다. 초보 단계에서는 일관된 기준을 정하는 것이 좋습니다.
함수 선언식은 코드 아래쪽에 있어도 호출되는 경우가 많아 처음 배울 때 흐름을 놓치기 쉽습니다. 대신 전통적인 문법이라 예제가 많습니다.
화살표 함수는 짧게 쓰기 좋고 React 예제에서도 자주 등장합니다. 변수에 함수를 담는 형태라 데이터처럼 다루는 감각을 익히기 좋습니다.
둘 중 하나만 절대적으로 옳다기보다 프로젝트의 스타일에 맞추는 것이 중요합니다. 글에서는 일반 함수와 이벤트 콜백을 구분해 설명합니다.
합계 계산 함수
function sum(a, b) {
return a + b;
}
const multiply = (a, b) => {
return a * b;
};
console.log(sum(2, 3));
console.log(multiply(2, 3));
이 예제는 그대로 복사해서 확인하는 것보다 한 줄씩 바꿔보는 쪽이 더 도움이 됩니다. 태그 이름, 선택자, 변수 이름, 함수 실행 위치를 조금씩 바꾸면 어떤 부분이 결과에 영향을 주는지 직접 확인할 수 있습니다.
함수 선언식과 화살표 함수 차이 비교 기준
| 구분 | 함수 선언식 | 화살표 함수 |
| 형태 | function name() | const name = () => |
| 호출 위치 | 호이스팅 영향 있음 | 선언 후 사용 권장 |
| 자주 쓰는 곳 | 일반 함수 | 콜백, React 이벤트 |
잘못 작성했을 때 나타나는 흐름
JavaScript 글은 값이 언제 만들어지고 함수가 언제 실행되는지를 순서대로 따라가면 이해가 쉬워집니다.
console.log는 단순 확인용이 아니라 현재 값의 모양과 실행 흐름을 확인하는 가장 기본적인 디버깅 도구입니다.
DOM을 다루는 코드는 HTML 요소가 먼저 준비되었는지 확인해야 하며, 선택 결과가 null인지 보는 습관이 중요합니다.
브라우저에서 직접 확인하는 순서
먼저 화면에 나타나는 결과를 보고, 그다음 코드에서 방금 수정한 부분을 확인하세요. 결과가 예상과 다르다면 콘솔 오류, 파일 경로, 선택자 이름, 태그 닫힘, 실행 순서 중 하나가 흔한 원인입니다.
초보 단계에서는 정답 코드를 한 번에 외우기보다 실패한 코드와 수정한 코드를 나란히 비교하는 방식이 좋습니다. 이 글의 예제를 기준으로 작은 값을 바꿔보면 다음 글을 읽을 때도 기준이 더 선명해집니다.
공식 문서로 더 확인하기: JavaScript 공식 문서