Nullish Coalescing을 사용하여 자바스크립트에서의 가변 인자 처리하기

가변 인자(variable arguments)는 함수에 여러 개의 매개변수를 동적으로 전달하는 방법을 제공합니다. 이를 통해 유연하게 함수를 호출하고 다양한 매개변수를 처리할 수 있습니다. 자바스크립트에서는 배열 또는 인수 객체(argument object)를 사용하여 가변 인자를 처리하는 경우가 많습니다.

하지만 ES2020에서 추가된 Nullish Coalescing 연산자(??)를 사용하면 가변 인자를 더욱 간편하게 처리할 수 있습니다. Nullish Coalescing 연산자를 이용하면 매개변수가 없거나 null 또는 undefined인 경우에 대해 기본값을 설정할 수 있습니다.

다음은 Nullish Coalescing 연산자를 사용하여 가변 인자를 처리하는 예제입니다.

function sumNumbers(...numbers) {
  let total = 0;
  for (let number of numbers) {
    total += number ?? 0;
  }
  return total;
}

console.log(sumNumbers(1, 2, 3)); // 6
console.log(sumNumbers(1, null, 3)); // 4
console.log(sumNumbers(1, undefined, 3)); // 4
console.log(sumNumbers()); // 0

위 코드에서는 sumNumbers 함수를 정의하고 가변 인자 numbers를 받습니다. 각 숫자를 반복하면서 Nullish Coalescing 연산자(??)를 사용하여 null 또는 undefined인 경우에는 0으로 처리합니다. 그리고 모든 숫자의 합을 반환합니다.

위 예제를 실행하면 첫 번째 호출에서는 1, 2, 3을 인자로 전달하여 6이 반환됩니다. 두 번째와 세 번째 호출에서는 null 또는 undefined가 포함된 인자를 전달하여 0이 아닌 다른 숫자가 반환됩니다. 마지막 호출에서는 인자가 없으므로 0이 반환됩니다.

Nullish Coalescing을 이용하면 가변 인자 처리를 더욱 간결하게 할 수 있으며, null 또는 undefined인 경우에 대한 예외 처리를 손쉽게 추가할 수 있습니다. 이를 활용하여 코드를 작성하면 가변 인자를 다루는 함수를 보다 효율적으로 개발할 수 있습니다.

#javascript #nullishcoalescing