javascript 함수 (Functions)

Kiyun·2024년 1월 18일

js

목록 보기
7/20

javascript 함수 (Functions)

JavaScript에서 함수는 코드를 재사용하고 조직화하는 데 사용되는 중요한 개념입니다. 함수는 특정 작업을 수행하는 코드 블록으로, 호출될 때마다 실행됩니다. 함수는 값을 반환할 수도 있고, 인수(파라미터)를 받아들일 수 있습니다.

함수 선언:

function greet(name) {
    console.log(`Hello, ${name}!`);
}

// 함수 호출
greet('John');  // 출력: "Hello, John!"

함수 표현식:

const greet = function(name) {
    console.log(`Hello, ${name}!`);
};

// 함수 호출
greet('John');  // 출력: "Hello, John!"

화살표 함수 (Arrow Function):

const greet = (name) => {
    console.log(`Hello, ${name}!`);
};

// 함수 호출
greet('John');  // 출력: "Hello, John!"

함수 반환값:

function add(a, b) {
    return a + b;
}

const result = add(3, 5);
console.log(result);  // 출력: 8

기본 매개변수 (Default Parameters):

function greet(name = 'Guest') {
    console.log(`Hello, ${name}!`);
}

greet();  // 출력: "Hello, Guest!"
greet('John');  // 출력: "Hello, John!"

Rest 파라미터:

function sum(...numbers) {
    return numbers.reduce((total, num) => total + num, 0);
}

const result = sum(1, 2, 3, 4, 5);
console.log(result);  // 출력: 15

콜백 함수 (Callback Functions):

function fetchData(callback) {
    // 비동기적인 데이터 로딩 시뮬레이션
    setTimeout(function() {
        const data = "Fetched data!";
        callback(data);  // 콜백 함수 호출
    }, 2000);
}

function processData(data) {
    console.log("Processing data:", data);
}

// fetchData 함수에 processData 함수를 콜백으로 전달
fetchData(processData);

클로저 (Closure):

function outerFunction(x) {
    // 내부 함수인 innerFunction은 외부 함수인 outerFunction의 변수 x에 접근할 수 있다.
    function innerFunction(y) {
        return x + y;
    }

    return innerFunction;
}

const closure = outerFunction(10);

console.log(closure(5)); // 출력: 15

함수는 프로그래밍에서 중요한 개념이며, 코드의 재사용성을 높이고 구조를 개선하는 데 도움이 됩니다. 함수를 효과적으로 사용하면 코드를 더 읽기 쉽고 유지보수하기 쉽게 만들 수 있습니다.

0개의 댓글