매개변수 : 함수 외부로부터 들어온 값이 담길 '자리' 혹은 '변수의 이름'
인자 : 그 자리(매개변수)에 들어갈 구체적인 값
function getName(이름) { // 이름 => 매개변수
return 이름 + '님';
}
getName('김개발'); // '김개발' => 인자
위 코드에서 getName 함수에 들어가는 (이름)부분은 매개변수(Paramenter), getName 함수를 호출할때 들어가는 괄호안의 '김개발'은 인자(Argument)이다.
function alertSuccess(name) {
let name = "wecode"; // 함수 내부에서 인자에 값을 넣으면 안된다.
alert(name + "님 로그인 성공!");
}
alertSuccess("wecode"); // 인자 전달의 맞는 예
위 코드처럼 alertSuccess함수 내부에 name이라는 변수를 지정해서 값을 할당하면 안된다.인자(argument)에 실제로 어떤 데이터가 전달될지는 호출할 때 결정해야한다.