함수 선언 시 함수가 받아들일 값
파라미터는 함수를 선언할 때 함수가 받아들이는 값을 정의하는 변수라고 할 수 있고, 함수가 호출될 때 필요한 값을 받아들이는 매개체, 함수나 메서드를 정의할 때 사용되는 변수의 이름이라고도 할 수 있다.
function add(a, b) {
return a + b;
}
위와 같은 함수가 있다고 한다면 add라는 함수에 a
와b
가 함수의 매개변수인 파라미터이다.
함수를 호출할 때 함수에 전달하는 값
아규먼트는 함수를 호출할 때, 함수가 받아들이는 파라미터에 대응하는 값을 말한다. 정의된 함수나 메서드를 호출할 때 이 변수에 넘겨줄 실제 값이라고 생각하면 된다.
function add(a, b) {
return a + b;
}
let result = add(2, 3);
위에 설명한 a
와b
는 함수의 파라미터이고, 실제 함수를 add(2,3)으로 호출할 때 a
는 2
와 대응되고, b
는3
과 대응된다. 이처럼 파라미터에 대응되는 실질적인 값이 2
,3
을 아큐먼트라고 부른다.
function greet(name) {
console.log("Hello, " + name + "!");
}
greet("Alice"); // "Hello, Alice!" 출력
위 예시 코드에서 파라미터와 아규먼트를 구분한다면,
함수의 매개변수에 들어가 있는 name
이 파라미터가 될 것이고,
실제 호출의 인자로 들어가 있는 Alice
가 아규먼트가 될 것이다.
😀다른 일상적인 예시를 들어보자, 한 교실에 학생이 3명들어가서 청소를 한다고 가정하자.
이때 교실에 들어가서 청소를하는 학생은 (학생1, 학생2, 학생3)이 될 것이다.
하지만, 실질적으로 그 학생들은 김--, 이--, 박-- 등 여러가지 본인의 이름이 있을 것이다.
이처럼 학생1, 학생2 와 같이 외부에서 지칭하는 대명사의 역할을 해주는 것이 파라미터가 될 것이고,
실제 김--,최--,윤-- 등 각 학생의 이름이 학생1,2,3 에 대응하는 고유의 값인 이름들이 아규먼트가 될 것이다.
참고차료(출처)
이미지출처 LovePik 청소하는 학생 PNG 일러스트
TAEWAN.KIM 블로그 argument와 parameter 차이점