<aside> 💡 함수를 호출할 때 전달한 값을 받는 변수

</aside>

기본 방식

function printText(msg, name) {
	console.log(msg, name);
}
printText("Hello", "soy"); // Hello soy

만약 함수를 선언할 때 매개변수를 받지 않아도 js는 에러를 발생하지 않는다.

function printText() {
	console.log(msg, name);
}
printText("Hello", "soy");

매개변수를 선언했지만 전달하지 않으면 undefined로 처리함 ⇒ 변수가 선언됐지만 값이 할당되지 않았다고 생각함

function printText(msg, name) {
	console.log(msg, name);
}
printText();  // undefined undefined

이런 문제를 해결하기 위해 초기 값 설정 방법이 있음 (es6에서 추가됨)

function printText(msg = "Hello", name = "soy") {
	console.log(msg, name);
}
printText();

매개변수 확장

function sum(a, b) {
	console.log(a + b);
}
sum(10, 20);

⇒ 확장성이 떨어지는 문제 있음

예) 3개의 숫자를 더하고 싶다! ⇒ 매개변수를 추가해줘야 함

function sum(a, b, c) {
	console.log(a + b + c);
}
sum(10, 20, 30);
sum(10, 20); // undefined