My Boundary As Much As I Experienced

JS) 매개변수 패턴(Parameter Pattern) 본문

FrontEnd/Javascript(Vanilla)

JS) 매개변수 패턴(Parameter Pattern)

Bumang 2023. 7. 20. 18:25

함수를 선언할 때 매개변수를 쓰는 방법도 여러가지가 있다.

 

1. 매개 변수에 기본값을 지정

function sum(a, b = 1) {
  //기본값을 매개변수 선언 시 지정해놓을 수 있음.
  return a + b;
}

console.log(1) 
// 2
// a은 1, b가 지정되지 않을 시 1이 되어서 2가 되었다.

console.log(sum(3, 4));
// 7
// b에 해당하는 값을 넣어주면 설정값대로 계산된다.

 

 

2. 매개 변수에 객체 구조 분해 할당 지정

const user = {
  name: "bumang",
  age: 85,
};

function getName({ name }) {
  // 받은 객체를 매개 변수에서 바로 구조분해 할 수 있다.
  return name;
}

function getEmail({ email = "이메일이 없습니다." }) {
  //구조분해할당에서도 기본값을 넣을 수 있었다.
  return email;
}

console.log(getName(user));
//bumang
//user 객체를 받아 name을 바로 반환한다.

console.log(getEmail(user));
// 이메일이 없습니다.
// 객체에 없는 값을 매개 변수로 넣을 시 기본값인 "이메일이 없습니다"를 표출하게 만듦.

 

 

3. 매개 변수에 배열 구조 분해 할당 지정

const arr = [1, 2, 3, 4, 5];
function getSecondItem([, b = 1]) {
  //배열도 구조 분해 할당이 가능하다.
  return b;
}

console.log(getSecondItem(arr));
// 2
// 2번째 인자를 반환한다. 2번째 인자가 없을 시 기본값 1을 반환한다.

 

 

4. 매개 변수에 전개 연산자 지정

function sum(...rest) {
  //개수가 정해져있지 않은 수의 값들도 이렇게 받을 수 있다..
  return rest.reduce((a, b) => a + b, 0);
}

console.log(sum(1, 2)); //3
console.log(sum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); //55

함수 안에서 복잡하게 if문 써서 몇줄 예외처리 하는 것보다 매개변수 선에서 몇 개의 조건을 거르는 것도 유용해보인다.

특히 전개 연산자를 매개 변수에 쓰는게 유용해보인다.