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문 써서 몇줄 예외처리 하는 것보다 매개변수 선에서 몇 개의 조건을 거르는 것도 유용해보인다.
특히 전개 연산자를 매개 변수에 쓰는게 유용해보인다.