[JavaScript 기본] 함수 표현식 & 화살표 함수

2025. 10. 31. 18:06·React/JavaScript 기본

자바스크립트에서는 함수를 "값처럼" 다루는 것이 가능함

즉, 함수를 변수에 담거나, 인수로 전달하거나, 반환할 수도 있음

이 특성을 이해하면 함수 표현식과 화살표 함수의 차이가 명확해짐!


1. 함수 표현식

function funcA() {
  console.log("funcA");
}

let varA = funcA;
console.log(varA); // 함수 자체 출력 (참조)
varA(); // funcA() 실행

let varB = function () {
  // 익명 함수 (이름 없음)
  console.log("funcB");
};

varB(); // 실행 결과: funcB
  • 함수 표현식은 "값처럼" 변수에 저장할 수 있음
  • 이름이 없는 경우를 익명 함수 라고함
  • 변수에 담기 때문에 선언 이전에는 호출 불가능(호이스팅 시 함수 내용은 올라가지 않음)
varB(); // 오류: varB is not a function

let varB = function () {
  console.log("funcB");
};

함수 표현식의 장점

  • 다른 함수에 인수로 전달 가능 -> 콜백(callback)으로 자주 사용
  • 동적으로 함수를 생성하거나, 클로저로 묶을 때 유용
function runTask(callback) {
  console.log("작업 시작");
  callback();
}

runTask(function () {
  console.log("작업 완료!");
});
// 결과
// 작업 시작
// 작업 완료!

2. 화살표 함수

  • ES6에서 도입된 간결한 함수 표현 문법
let varC = () => {
  return 1;
};

console.log(varC()); // 1
  • 한 줄일 때 `return`생략 가능
const add = (a, b) => a + b;
console.log(add(3, 4)); // 7
  • 매개변수가 하나면 괄호 `( )` 생략 가능
const square = n => n * n;
console.log(square(5)); // 25

화살표 함수 vs 일반 함수 차이

구분 일반 함수 화살표 함수
문법 `function func() {}` `() => {}`
`this` 바인딩 동적으로 (호출한 객체 기준) 정적으로 (선언된 위치 기준, 상위 스코프)
`arguments` 객체 있음 없음
생성자(`new`) 가능 불가능
사용 시기 메서드, 생성자 등 일반 함수 콜백, 간단한 표현식

 

'React > JavaScript 기본' 카테고리의 다른 글

[JavaScript 기본] 스코프  (0) 2025.11.02
[JavaScript 기본] 콜백 함수  (0) 2025.11.01
[JavaScript 기본] 함수 정리  (0) 2025.10.29
[JavaScript 기본] 반복문  (0) 2025.10.29
[JavaScript 기본] 조건문 정리  (0) 2025.10.29
'React/JavaScript 기본' 카테고리의 다른 글
  • [JavaScript 기본] 스코프
  • [JavaScript 기본] 콜백 함수
  • [JavaScript 기본] 함수 정리
  • [JavaScript 기본] 반복문
이도서
이도서
  • 이도서
    도서의 코딩노트
    이도서
  • 전체
    오늘
    어제
    • 분류 전체보기 (249)
      • Today I Learned (79)
        • 2024 (78)
      • Swift (25)
        • Swift 문법 정리 (19)
        • RxSwift (5)
      • Swift Study (12)
        • Playground (2)
        • Storyboard (9)
        • UIKit (1)
      • Flutter (27)
        • Dart 언어 (16)
        • Flutter Study (11)
      • React (37)
        • HTML & CSS (8)
        • JavaScript 기본 (12)
        • JavaScript 심화 (14)
        • Node.js (2)
        • React (1)
      • Git (3)
      • 코딩테스트 (60)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 개발 공부 공유 링크
  • 인기 글

  • 태그

    내일배움캠프
    객체지향
    javascript 기본
    코딩테스트Level.1
    javascript
    function
    DART
    ios앱개발자
    storyboard
    CLASS
    React
    코딩테스트 level.1
    html
    iOS앱개발
    함수
    ios
    Til
    코딩테스트
    Swift
    Flutter
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이도서
[JavaScript 기본] 함수 표현식 & 화살표 함수
상단으로

티스토리툴바