근무를 하면서 부끄럽지만 다음과 같은 용어들을 마구잡이로 사용하는 경우가 자주 있는데
이번 글에서 정리를 하면서 바로 잡아 볼까한다.
- 파라미터(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