JavaScript의 옵셔널 파라미터 (Optional Parameters)

BossTeemo·2024년 5월 4일
post-thumbnail

JavaScript에서의 옵셔널 파라미터 (Optional Parameters)

소개

JavaScript에서 함수의 매개변수는 고정된 개수를 가지지 않으며, 호출 시 제공되지 않은 매개변수는 undefined로 처리됩니다. 이러한 특성 때문에 JavaScript에서는 함수의 매개변수를 유연하게 처리할 수 있습니다. 이러한 유연성을 활용하여 함수의 파라미터를 선택적으로 사용할 수 있는 다양한 방법을 알아보겠습니다.

기본값 파라미터 (Default Parameters)

ES6에서 도입된 기본값 파라미터를 사용하면 함수의 매개변수가 제공되지 않았을 때 기본값을 설정할 수 있습니다.

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

greet('Alice'); // Hello, Alice!
greet(); // Hello, Guest!

위 코드에서 name 매개변수에 값이 제공되지 않으면 기본값인 'Guest'가 사용됩니다.

arguments 객체

JavaScript의 모든 함수는 arguments 객체를 통해 호출 시 전달된 모든 인자에 접근할 수 있습니다. 이 객체를 사용하여 인자의 개수에 따라 조건적으로 처리할 수 있습니다.

function sum() {
    let total = 0;
    for (let i = 0; i < arguments.length; i++) {
        total += arguments[i];
    }
    return total;
}

console.log(sum(1, 2, 3)); // 6
console.log(sum(5, 10)); // 15

위 코드에서 arguments 객체는 함수에 전달된 모든 인자를 배열처럼 제공해 주어 유연하게 처리할 수 있습니다.

나머지 매개변수 (Rest Parameters)

ES6에서 도입된 나머지 매개변수는 가변 개수의 인자를 배열로 받을 수 있게 합니다. 이를 통해 함수의 매개변수를 보다 유연하게 처리할 수 있습니다.

function multiply(factor, ...numbers) {
    return numbers.map(num => num * factor);
}

console.log(multiply(2, 1, 2, 3)); // [2, 4, 6]

위 코드에서 ...numbers는 나머지 매개변수로, 나머지 모든 인자를 배열로 받습니다.

옵셔널 체이닝 (Optional Chaining)

옵셔널 체이닝은 객체의 중첩된 프로퍼티에 안전하게 접근할 수 있게 해줍니다.

let user = { name: 'Alice' };
console.log(user.address?.city); // undefined

위 코드에서 ?. 연산자는 user.addressundefined이거나 null인 경우 에러를 발생시키지 않고 undefined를 반환합니다.

결론

JavaScript에서는 기본값 파라미터, arguments 객체, 나머지 매개변수 등 다양한 방법을 사용하여 함수를 더욱 유연하게 만들 수 있습니다. 이를 활용하여 더욱 강력한 코드를 작성하세요.

profile
1인개발자가 되겠다

0개의 댓글