자바스크립트는 웹 개발에서 가장 많이 사용되는 프로그래밍 언어 중 하나입니다. 이 언어의 강력한 기능 중 하나는 함수입니다. 이번 포스트에서는 익명 함수, 화살표 함수, 그리고 고차 함수의 개념을 예제를 통해 자세히 설명하겠습니다.
1. 익명 함수 (Anonymous Function)
익명 함수란 이름이 없는 함수를 말합니다. 주로 다른 함수의 인자로 전달하거나 즉시 실행할 때 사용됩니다. 익명 함수는 `function` 키워드를 사용하여 정의합니다.
예제:
// 익명 함수를 변수에 할당
const greet = function(name) {
return `안녕하세요, ${name}!`;
};
console.log(greet('홍길동')); // 안녕하세요,
홍길동!
이 예제에서 `greet` 변수에 익명 함수를 할당하였습니다. 이 함수는 이름을 인자로 받아 인사말을 반환합니다.
[즉시 실행 익명 함수]
익명 함수는 즉시 실행할 수도 있습니다. 이를 위해 괄호를 사용합니다.
예제:
(function(name) {
console.log(`안녕하세요, ${name}!`);
})('이순신'); // 안녕하세요, 이순신!
위의 코드에서 함수가 정의되자마자 호출됩니다.
2. 화살표 함수 (Arrow Function)
화살표 함수는 ES6(ECMAScript 2015)에서 도입된 문법으로, 더 간결하게 함수를 정의할 수 있게 해줍니다. 화살표 함수는 `=>` 기호를 사용하여 정의합니다.
예제:
const add = (a, b) => a + b;
console.log(add(5, 3)); // 8
위의 예제에서 `add`라는 화살표 함수는 두 개의 인자를 받아 더한 값을 반환합니다. 화살표 함수를 사용하면 코드가 더 깔끔해집니다.
[단일 인자]
단일 인자가 있을 경우 괄호를 생략할 수도 있습니다.
예제:
const square = x => x * x;
console.log(square(4)); // 16
3. 고차 함수 (Higher-Order Function)
고차 함수란 다른 함수를 인자로 받거나, 함수를 반환하는 함수를 말합니다. 자바스크립트에서 함수는 일급 객체이기 때문에, 함수를 변수에 할당하거나 다른 함수의 인자로 전달하는 것이 가능합니다.
예제:
function higherOrderFunction(callback) {
const result = callback(5);
console.log(`결과: ${result}`);
}
const double = x => x * 2;
higherOrderFunction(double); // 결과: 10
위의 예제에서 `higherOrderFunction`은 함수를 인자로 받아 실행하고 결과를 출력합니다. `double`이라는 화살표 함수를 인자로 전달하여 5의 두 배를 계산합니다.
[배열 메서드와 고차 함수]
고차 함수는 배열 메서드에서도 자주 사용됩니다. 예를 들어, `map`, `filter`, `reduce` 등이 있습니다.
예제:
const numbers = [1, 2, 3, 4, 5];
// 배열의 각 요소를 제곱하는 map 메서드
const squared = numbers.map(num => num * num);
console.log(squared); // [1, 4, 9, 16, 25]
이 예제에서 `map` 메서드는 각 요소에 대해 주어진 함수를 적용하여 새로운 배열을 반환합니다.
4.마치며
익명 함수, 화살표 함수, 고차 함수는 자바스크립트에서 매우 중요한 개념입니다. 이들 각각의 특성을 이해하고 활용하면 코드의 가독성과 효율성을 높일 수 있습니다.
'IT프로그램 언어 > JavaScript' 카테고리의 다른 글
Java스크립트(객체) (1) | 2024.11.22 |
---|---|
Java스크립트(배열) (0) | 2024.11.21 |
Java스크립트(함수-정의,호출,매개변수,반환값) (4) | 2024.11.19 |
Java스크립트(제어문-조건문,switch문,반복문,break문,continue문) (6) | 2024.11.18 |
Java스크립트(변수선언,데이타타입,연산자) (11) | 2024.11.17 |