근무를 하면서 부끄럽지만 다음과 같은 용어들을 마구잡이로 사용하는 경우가 자주 있는데
이번 글에서 정리를 하면서 바로 잡아 볼까한다.
- 파라미터(Parameter)
- 아규먼트(Argument)
- 인자
- 인수
- 매개변수
함수안에 있는 인자로써, 특정한 값으로 정해져 있는 것이 아니라
함수가 호출하면서 건내준 전달인자의 값(value)이 변수(variable)에 담기게 된다.
function multiply(a, b) { // 인자
return a * b;
}
함수를 호출할 때 값을 전달한다는 뜻에서 전달인자라고도 부른다.
매개변수와 달리 전달인자는 고정되어 있지 않고, 호출할 때마다 수시로 변하는 값이기 때문에
변수(variable)가 아닌 값(value)으로 정의한다.
multiply(1, 2); // 인수
함수의 매개변수 기본은 undefined입니다.
다음과 같은 예제 코드를 보면 multiply라는 함수가 두개의 인자를 받는데
한개의 인수만 넘겨준다면 a는 1이지만 b는 값을 받지 못했기 때문에 undefined가 되고, NaN이 반환된다.
function multiply(a, b) {
return a * b; // 인자
}
multiply(2, 3); // 6
multiply(1); // NaN