자바스크립트 매개변수 기본값 (Default Values for Parameters)

매개변수 기본값은 자바스크립트 함수에서 매개변수에 값을 할당하지 않을 경우 사용되는 값입니다. 이는 함수 호출 시 매개변수가 제공되지 않았을 때 기본값을 사용하여 함수가 예기치 않게 동작하는 것을 방지하는 방법입니다.

자바스크립트에서 함수의 매개변수에 기본값을 할당하는 방법은 다음과 같습니다:

function myFunction(param1 = defaultValue1, param2 = defaultValue2) {
  // 함수의 본문
}

위의 코드에서 param1param2는 매개변수 이름이고 defaultValue1defaultValue2는 기본값입니다. 함수를 호출할 때 매개변수에 값을 전달하지 않으면 기본값이 사용됩니다.

예를 들어, 다음과 같은 함수를 고려해 보겠습니다:

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

위의 함수는 name 매개변수에 기본값을 할당하고 있습니다. 매개변수에 값을 전달하지 않을 경우, name의 기본값인 “Anonymous”가 사용됩니다.

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

위의 코드에서 두 번째 greet 함수 호출에서는 매개변수 name에 “John”이 전달되었으므로 이 값이 함수 내에서 사용됩니다.

매개변수 기본값을 사용하면 함수를 더 유연하게 사용할 수 있습니다. 매개변수에 값을 전달하지 않을 때마다 일일이 기본값을 확인하거나 처리할 필요가 없어집니다.

자바스크립트에서는 함수의 매개변수에 기본값을 할당하는 것 외에도 비구조화 할당과 함께 사용할 수도 있습니다. 이를 통해 함수에서 전달되는 매개변수의 특정 속성을 추출하거나 기본값을 지정할 수 있습니다.

function getUser({ name = "Anonymous", age = 0 }) {
  console.log(`Name: ${name}, Age: ${age}`);
}

getUser({ name: "John", age: 25 }); // 출력: Name: John, Age: 25
getUser({ name: "Jane" }); // 출력: Name: Jane, Age: 0
getUser({}); // 출력: Name: Anonymous, Age: 0

위의 예제에서 getUser 함수는 객체를 매개변수로 받고, 해당 객체의 nameage 속성을 추출합니다. 만약 객체에 해당 속성이 존재하지 않을 경우, 해당 속성의 기본값이 사용됩니다.