본문 바로가기

프로그래밍 언어/자바스크립트

자바스크립트 익명 함수와 화살표 함수 기본 개념과 활용법

자바스크립트 익명 함수와 화살표 함수 기본 개념과 활용법

자바스크립트(JavaScript)에서 함수는 매우 중요한 역할을 합니다. 특히 익명 함수와 화살표 함수는 간결하고 직관적인 코드 작성을 가능하게 합니다. 이 글에서는 자바스크립트의 익명 함수와 화살표 함수의 기본 개념과 활용법에 대해 알아보겠습니다. 이를 통해 자바스크립트 코드를 보다 효율적이고 읽기 쉽게 작성하는 방법을 이해할 수 있을 것입니다.

 

 

 

1. 익명 함수란?

익명 함수는 이름이 없는 함수입니다. 보통 일회성으로 사용되거나 다른 함수에 인수로 전달될 때 사용됩니다. 익명 함수는 함수 리터럴을 통해 정의할 수 있습니다.


const greet = function() {
    console.log("Hello, World!");
};
greet(); // 출력: Hello, World!
            

 

 

2. 익명 함수의 기본 사용법

익명 함수는 일반적으로 콜백 함수로 자주 사용됩니다. 예를 들어, 배열의 각 요소에 대해 함수를 실행하는 map() 메서드에서 익명 함수를 사용할 수 있습니다.


const numbers = [1, 2, 3];
const squaredNumbers = numbers.map(function(number) {
    return number * number;
});
console.log(squaredNumbers); // 출력: [1, 4, 9]
            

 

 

3. 화살표 함수란?

화살표 함수는 ES6에서 도입된 간결한 함수 표현식입니다. 함수 키워드 대신 화살표(=>)를 사용하여 정의합니다. 화살표 함수는 문법이 간결하고, this 바인딩이 직관적이라는 장점이 있습니다.


const greet = () => {
    console.log("Hello, World!");
};
greet(); // 출력: Hello, World!
            

 

 

4. 화살표 함수의 기본 사용법

화살표 함수는 매개변수가 하나일 때 괄호를 생략할 수 있고, 함수 몸체가 단일 표현식일 때 중괄호와 return 키워드를 생략할 수 있습니다.


// 매개변수가 하나일 때
const square = x => x * x;
console.log(square(3)); // 출력: 9

// 매개변수가 없을 때
const greet = () => console.log("Hello, World!");
greet(); // 출력: Hello, World!
            

 

 

 

 

5. 익명 함수와 화살표 함수의 차이점

익명 함수와 화살표 함수는 문법뿐만 아니라 this 바인딩에서 큰 차이점이 있습니다. 익명 함수는 자신만의 this를 가지지만, 화살표 함수는 상위 스코프의 this를 상속받습니다.


const obj = {
    value: 10,
    method: function() {
        console.log(this.value); // 익명 함수: 10
        const arrowFunc = () => console.log(this.value); // 화살표 함수: 10
        arrowFunc();
    }
};
obj.method();
            

 

 

6. 실전 예제

다음은 익명 함수와 화살표 함수를 사용한 간단한 예제입니다. 두 함수를 비교하며 어떤 상황에서 어떤 함수를 사용하는 것이 더 적합한지 살펴보겠습니다.

예제 1: 배열 필터링


const numbers = [1, 2, 3, 4, 5];

// 익명 함수 사용
const evenNumbers = numbers.filter(function(number) {
    return number % 2 === 0;
});
console.log(evenNumbers); // 출력: [2, 4]

// 화살표 함수 사용
const oddNumbers = numbers.filter(number => number % 2 !== 0);
console.log(oddNumbers); // 출력: [1, 3, 5]
            

 

 

7. 결론

익명 함수와 화살표 함수는 자바스크립트(JavaScript)에서 중요한 함수 표현식입니다. 각 함수의 특징과 사용법을 이해하면 보다 효율적이고 가독성 높은 코드를 작성할 수 있습니다. 익명 함수는 주로 콜백 함수로 사용되며, 화살표 함수는 간결한 문법과 직관적인 this 바인딩을 제공합니다. 이 글에서 소개한 내용을 바탕으로 다양한 상황에서 적절한 함수를 사용해 보세요.