본문 바로가기

JavaScript/JavaScript

[JavaScript] 매개변수(Parameter)

  • 매개변수(Parameter)를 이용하면 원하는 데이터를 원하는 함수에 전달 할 수 있습니다.
  • 매개변수는 1개 또는 여러개를 전달 할 수 있습니다.
  • 문자, 숫자 등 다양한 타입을 전달 하여 사용 할 수 있습니다.

(예제1)

// 매개변수가 1개 있는 함수 선언
function sayHello(name) {
    alert("Hello " + name + "!");
}

sayHello("Lee");  // "Lee"를 넘겨주며 sayHello()함수 호출
sayHello("Choi"); // "Choi"를 넘겨주며 sayHello()함수 호출


// 매개변수가 2개 있는 함수 선언
function person(name, age) {   
    alert("Hello " + name + "! " + "You are " + age + " years old")
}

person("Simon", 15); // "Simon"과 15를 넘겨주며 person()함수 호출
  • 위 (예제1)과 같이 함수 선언 방식을 이용하여 함수를 만들 수 있습니다.
  • 여러개의 매개변수가 있으면 각 매개변수를 콤마(,)로 구분 해주면 됩니다.
  • 함수에 전달 된 매개변수는 지역변수 name 과 age에 복사 됩니다.
  • 그 후 함수는 지역변수에 복사된 값을 사용합니다.

(예제2)

function person(name, age) {   
    alert("Hello " + name + "! " + "You are " + age + " years old")
}

person("Simon"); // "Simon" 하나의 값만 전달 하여 함수 호출
(예제3)

function person(name, age = 20) {   
    alert("Hello " + name + "! " + "You are " + age + " years old")
}

person("Simon");     // "Simon" 하나의 값만 전달 하여 함수 호출 -> "Hello Simon! You are 20 years old"
person("Simon", 30); // "Simon", 30 값을 전달 하여 함수 호출 -> "Hello Simon! You are 30 years old"
  • 위 (예제2)에서 정의한 함수 person(name, age)는 매개변수가 2개지만 "Simon" 값 하나만 호출 할 수 있습니다.
  • 매개변수에 값을 전달하지 않으면 그 값은 "undefined"가 됩니다.
  • 해당 코드는 에러가 발생하지는 않지만, "age" 에 "undefined" 가 할당 되어 "Hello Simon! Your are undefined years old" 가 출력 됩니다.
  • 위 (예제3) 과 같이 매개변수에 기본값(default value)를 설정해주면 "undefined" 대신 기본값이 출력 됩니다.
  • 매개변수에 기본값을 설정해주면 해당 값이 없을 때만 기본값으로 함수를 호출합니다.