패스트캠퍼스
javaScript-함수(매개변수 패턴)
용용it
2023. 5. 15. 19:32
기본값(Default value)
// 매개변수 패턴(Parameter pattern)
// 기본값(Default value)
function sum(a, b) {
return a + b
}
console.log(sum(1,2)) // 3
console.log(sum(7)) // NaN
sum 함수의 a와 b는 각각 인수를 전달받아 return값을 반환한다.
하지만 console.log(sum(7)) 같은 경우에는 NaN를 반환한다.
이를 막기 위해 전달 받을 인수가 있는 곳에 기본값을 지정한다.
function sum(a, b = 1) {
return a + b
}
console.log(sum(1,2)) // 3
console.log(sum(7)) // 8
구조 분해 할당(Destructuring assignment)
구조분해할당은 프로그래밍에서 여러 값을 배열이나 객체에서 추출하여 개별 변수에 할당하는 문법이다.
또한 배열, 객체 등의 데이터 구조에서 원하는 값을 추출하여 변수에 할당하는데 사용된다.
// 객체의 구조분해할당
const user = {
name: 'DRAGON',
age: 27,
email: 'test@gmail.com'
}
function getName({ name }){
return name
}
function getEmail({ email = '이메일이 없습니다.' }) {
return email
}
console.log(getName(user)) // DRAGON
console.log(getEmail(user)) // test@gmail.com
// 배열의 구조 분해 할당
const fruits = ['Apple', 'Banana', 'Cherry']
const numbers = [1, 2, 3, 4, 5, 6, 7, 8]
function getSecondItem([, b]) {
return b
}
console.log(getSecondItem(fruits)) // Banana
console.log(getSecondItem(numbers)) // 2
나머지 매개변수(Rest parameter)
나머지 매개변수 구문을 사용하면 함수가 정해지지 않은 수의 매개변수를 배열로 받을 수 있다.
function sum(...rest) {
console.log(rest)
console.log(arguments)
return rest.reduce(function (acc,cur) {
return acc + cur
}, 0)
}
console.log(sum(1, 2)) // 3
console.log(sum(1, 2, 3, 4)) // 10
console.log(sum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) // 55