Language/Java Script
[JavaScript] parameter 와 argument 의 차이 (인수, 인자)
yuns94
2022. 9. 22. 17:34
- parameter
- argument
- 매개변수
- 전달인자
- 변수
- 값
- 인자
- 인수
💡 argument = 전달인자 = 값
plusNumber(1,2);
// 전달인자 1, 2
함수를 호출할 때 값을 전달한다고 해서 전달인자라고도 부른다.
매개변수와 달리 전달인자는 고정되어 있지 않고, 호출할 때마다 수시로 변하는 값(Value)이기 때문에 변수가 아닌 값(Value)으로 정의한다. 인수라고도 한다.
💡 parameter = 매개변수 = 변수
function plusNumber(a,b) {
return a+b;
}
// 매개변수 a, b
함수 내부에 있는 인자로써, 특정한 값으로 정해져 있는 것이 아니라, 함수가 호출하면서 건네준 argument의 값이 변수 ( Variable )에 담기게 된다.
들어오는 인자가 매개체 역할을 하기 때문에 매개변수라고도 하며
영문으로 parameter 라고 한다.
💡 인수 ? 인자 ?
argument는 인수라고 부르고 parameter를 인자라고 부르는게 맞다고 한다.
그러나 확실하진 않지만 명확하게 구분해서 쓰기보다는 그렇게 주고 받는 것들의 대명사격으로 믹스해서 많이 사용하고 있는 것 같다.
parameter(변수)는 '수'자로돌림하고,
argument는(전달인자) '자'자로 돌림하면 좋았을텐데 말이다.
번역의 문제인지 조금 헷갈리지만 결국에 맥락은 같으니까
크게 중요한 것 같지는 않다는 결론.....이지만 검색 한 번더 해봤다.
Reference
인수(arguments) 객체 사용하기 | MDN
아래 두번째 줄과 같이 multiply 함수가 오직 한 개의 인수만 있다면 b를 1로 설정하는 방식을 사용하곤 했습니다.
function multiply(a, b) { return a * b } multiply(5) // NaN !
어떤 개수의 인수도 이 함수로 넘겨줄 수 있고, 이 함수는 각각의 인수를 하나의 문자열 "리스트" 로 연결합니다. :
myConcat("; ", "elephant", "giraffe", "lion", "cheetah");
다음 예는 첫 번째 인자로로 함수를, 두 번째 인자로 배열을 받는 map 함수를 보여줍니다.
function map(f,a) { var result = [], // Create a new Array i; for (i = 0; i != a.length; i++) result[i] = f(a[i]); return result; }