[Javascript] 기초 공부 - Function parameter, argument

Magit·2020년 5월 24일
0

Javascript

목록 보기
10/17

매개변수(parameter)와 인자(argument)

매개변수란?

함수를 정의하면서 함수 선언식의 괄호 () 안에 어떤 변수명 을 쓰면, 그걸 매개변수 라고 부른다. 그 이름처럼 실제로 함수 안쪽에서 변수와 같은 역할을 하게된다.
함수가 호출될 때, 값을 전달받으면 매개변수 값이 정의된다.

인자란?

어떠한 함수를 호출할 때, 호출문의 괄호안에 어떤 값 또는 정의된 변수를 쓰면 우리는 그걸 인자라고 부른다.
함수에서 매개변수를 적어둔 상태라면, 호출시 인자로 전달한 값을 매개변수를 통해 사용가능해진다.

예시

// doubleNumber 함수 선언식
function doubleNumber(myNumber) { // <- 호출시 전달받은 값을 myNumber 라는 변수명으로 함수 안쪽에서 사용하겠다.
  let myResult = myNumber * 2
  return myResult
}

// doubleNumber 함수 호출문
doubleNumber(3); // <- doubleNumber를 호출하면서 값 3을 전달해주겠다.

해당 예시 코드에서 dobleNumber 함수가 선언되면 괄호안의 myNumber라고 썼기에, myNumber 매개변수가 함수에서 선언된다.

doubleNumber 함수를 호출할 때는 인자로 3을 넣게된다.
인자로 전달된 값 3은 매개변수 myNumber에 정의된다. 인자에 값을 넣을때는 그 값을 직접 타자로 쳐 줄 필요는 없다. 어떤 변수에 정의된 값이라면 그 변수를 인자로 전달해주면 함수 전달될 때, 담겨져있던 값이 전달된다.

let someNumber = 42
doubleNumber(someNumber); // <- doubleNumber를 호출하면서 값 42를 전달

Function - 여러 인자 받기

여러 개의 데이터를 전달받는 함수에 대해서 알아보자.
함수에 인수가 한 개가 아닌 여러 개를 전달할 수도 있다.

function alertSuccess(month, name) {
  alert(month + "월의 당첨자는 " + name + "입니다.");
}

alertSuccess("3", "김개발");

연습하기

function meetAt(year, month, day){
  if (arguments.length == 1){
    return year+"년";
  } else if (arguments.length == 2){
    return year+"년 " + month + "월";
  } else {
    return year+"/"+month+"/"+day;
  }
}
profile
이제 막 배우기 시작한 개발자입니다.

0개의 댓글