SeungMinOh
본문 바로가기

Frontend/JavaScript

Argument 와 Parameter 란 ?

안녕하세요. 저처럼 자바스크립트 문법에 아직 통달하지 못한 beginner에게는  인자와 매개변수가 정확이 무엇인지 헷갈릴 법 한데요. 그래서 한번 자료를 찾아 공부해보았습니다.

 

JavaScript에서 함수 정의에 사용되는 매개변수(parameter)와 함수 호출 시 전달되는 인자(argument)는 서로 다른 개념입니다.

 

 

인자 (Argument)

 

인자는 함수 호출 시 함수에 전달되는 값입니다. 함수 호출 시 인자는 매개변수에 할당되어 함수 내부에서 사용됩니다. 함수를 호출할 때 전달되는 인자의 개수와 순서는 함수 정의에서 선언된 매개변수와 일치해야 합니다.

예를 들어, 위에서 정의한 add 함수를 호출할 때 인자를 전달할 수 있습니다:

 

const result = add(5, 3);
console.log(result); // 출력: 8

 

위의 코드에서 add 함수를 호출할 때 5와 3이라는 인자를 전달하였습니다. 이러한 인자는 함수 내부에서 x와 y 매개변수에 할당되어 더해진 후 결과 8이 반환됩니다.

 

 

 

매개변수 (Parameter)

매개변수는 함수 정의 시 함수에 전달되는 값을 받기 위해 선언하는 변수입니다. 함수 정의에서 매개변수는 함수의 "인터페이스" 역할을 합니다. 매개변수는 함수 내부에서 변수로 사용되며, 함수가 호출되었을 때 전달된 인자(argument)의 값을 매개변수에 할당합니다.

 

예를 들어, 다음 함수 add는 두 개의 매개변수 x와 y를 갖고 있습니다:

 

function add(x, y) {
  return x + y;
}

 

위의 함수에서 x 와 y는 매개변수입니다. 이 함수는 x 와 y에 전달된 인자(argument)의 값을 더한 후 결과를 반환합니다.

 

 

요약하자면, 매개변수는 함수 정의 시 선언하는 변수이고, 인자는 함수 호출 시 전달되는 값을 의미합니다. 매개변수는 함수의 인터페이스로써 함수의 동작을 결정하고, 인자는 매개변수에 실제 값을 전달하여 함수를 호출할 때 사용됩니다.

 

저는 쉽게 까먹을 수 있기 때문에 한번 더 정리해보겠습니다. 😂

 

 

매개변수

  • 매개변수는 함수 정의에서 선언된 변수입니다.
  • 함수 내에서 매개변수는 해당 함수의 인자를 저장하는 데 사용 됩니다.
  • 메개변수는 함수의 로직에서 사용되는 값을 받아들이는 역할을 합니다.
  • 매개변수는 함수 정의 시에 선언되며, 함수 내에서 지역 변수로 취급됩니다.
  • 함수를 호출할 때 인자(argument)로 전달된 값들이 매개변수에 대입됩니다.

 

 

인자

  • 인자는 함수 호출 시에 전달되는 값들입니다.
  • 함수를 호출할 때 괄호 안에 인자를 전달하여 함수로 값을 전달합니다.
  • 전달된 인자는 함수 내부에서 매개변수에 대입되어 함수의 로직에 사용됩니다.
  • 함수를 호출할 때 인자의 개수와 타입은 함수의 매개변수와 일치해야 합니다. 그렇지 않으면 예기치 않은 동작이 발생할 수 있습니다.

 

간단 예시 

 

function greet(name) { // name은 매개변수
  console.log("Hello, " + name + "!"); 
}

greet("Alice"); // "Alice"는 인자
greet("Bob"); // "Bob"은 인자