- 매개변수(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" 대신 기본값이 출력 됩니다.
- 매개변수에 기본값을 설정해주면 해당 값이 없을 때만 기본값으로 함수를 호출합니다.
'JavaScript > JavaScript' 카테고리의 다른 글
[JavaScript] 함수 선언식 / 함수 표현식 (0) | 2022.01.17 |
---|---|
[JavaScript] 페이지 라이프사이클 (0) | 2022.01.06 |
[JavaScript] 함수(function) (0) | 2022.01.05 |
[JavaScript] 전역 변수 와 지역변수 (0) | 2022.01.05 |
[JavaScript] null / undefined 란 (0) | 2022.01.04 |