SMALL
안녕하세요 😊 코드카인 여러분!
오늘은 자바스크립트에서 자주 쓰이는 두 가지 강력한 도구, 기본 파라미터와 Rest 파라미터에 대해 알아볼 거예요. 이 두 가지는 함수를 더욱 유연하고 강력하게 만들어주는데요, 실생활에 빗대어 쉽게 이해해볼게요!
🌟 기본 파라미터란?
기본 파라미터(Default Parameters)는 함수를 호출할 때 값을 전달하지 않아도 자동으로 기본값을 할당하는 기능이에요.
🍴 예시: 레스토랑 예약
레스토랑에 예약을 할 때, 원하는 자리를 지정하지 않으면 기본적으로 창가 자리를 배정해주는 것과 같아요.
function reserveTable(seat = "창가 자리") {
console.log(`예약된 자리는: ${seat}`);
}
reserveTable(); // 예약된 자리는: 창가 자리
reserveTable("중앙 자리"); // 예약된 자리는: 중앙 자리
이처럼 기본 파라미터는 함수의 호출자가 값을 생략했을 때 기본값을 설정할 수 있어요. 덕분에 예외 상황을 처리하기 쉬워지고, 코드도 더 간결해지죠.
🌟 Rest 파라미터란?
Rest 파라미터(Rest Parameters)는 함수에 전달된 나머지 인자들을 배열로 묶어주는 기능이에요.
🍕 예시: 피자 토핑 추가
피자를 주문할 때, 기본적으로 정해진 토핑 외에 추가 토핑은 모두 리스트에 담기는 상황을 떠올려보세요!
function makePizza(base, ...toppings) {
console.log(`피자 베이스: ${base}`);
console.log(`추가 토핑: ${toppings.join(", ")}`);
}
makePizza("치즈", "페퍼로니", "버섯", "파프리카");
// 피자 베이스: 치즈
// 추가 토핑: 페퍼로니, 버섯, 파프리카
Rest 파라미터를 사용하면 함수가 여러 개의 인자를 깔끔하게 받을 수 있어요. 특히, 매개변수 개수를 미리 알 수 없을 때 유용하답니다!
🛠 기본 파라미터와 Rest 파라미터를 함께 사용하기
두 가지를 함께 사용하면 더욱 강력해요. 아래는 정산 시스템을 구현한 간단한 예제입니다.
💳 예제: 정산 시스템
function calculateTotal(basePrice = 0, ...extraCharges) {
const total = basePrice + extraCharges.reduce((sum, charge) => sum + charge, 0);
console.log(`총액: ${total}원`);
}
calculateTotal(10000, 2000, 3000); // 총액: 15000원
calculateTotal(); // 총액: 0원
🔍 작동 원리
basePrice
는 기본값을0
으로 설정했어요.extraCharges
는 Rest 파라미터로 나머지 값을 모두 배열로 받아요.reduce()
메서드로 배열의 합계를 계산해 총액을 출력합니다.
🤔 알아두면 좋은 점
- 기본 파라미터는 Rest 파라미터보다 앞에 위치해야 해요.
- 기본값 설정은 고정적인 값부터 시작하는 게 더 자연스럽습니다.
- Rest 파라미터는 하나만 사용 가능하며, 반드시 마지막에 위치해야 해요.
- Rest는 나머지를 모두 묶기 때문에 이후 다른 매개변수를 사용할 수 없답니다.
😊 마무리하며..
기본 파라미터와 Rest 파라미터는 자바스크립트에서 가독성 좋은 함수를 작성하는 데 필수적인 도구예요. 여러분도 꼭 활용해보세요!
💪 "조금씩 배워가는 여러분을 응원합니다! 계속 함께해요 😊"
728x90
반응형
SMALL
'JavaScript > JavaScript 함수와 스코프' 카테고리의 다른 글
클로저, 코드 속 비밀 상자의 모든 것! - 코드카인 티스토리 (0) | 2025.02.01 |
---|---|
클로저, 이렇게 쉬웠어? 초보자를 위한 클로저 마스터 가이드 - 코드카인 티스토리 (0) | 2025.01.31 |
스코프 완전 정복! 전역과 지역의 차이를 한 번에 이해하기 - 코드카인 티스토리 (0) | 2025.01.28 |
코드가 이렇게 짧아진다고? 화살표 함수로 JavaScript 끝내기 - 코드카인 티스토리 (0) | 2025.01.26 |
함수 선언식과 표현식 차이, 개발자를 위한 필수 가이드! - 코드카인 티스토리 (0) | 2025.01.24 |