<script>
function test(a, b, c) {
alert(a + b + c);
}
test(10, 20, 30); // 매개변수를 입력해야 -> 실행됨
//
test(); // 이렇게 사용하더라도,
// a = 10
// b = 20
// c = 30
// 이렇게 기본값을 가진 매개변수를 만들고 싶다면,
function test(a, b, c) {
// a가 undefined일 때, -> a = 10
// b가 undefined일 때, -> b = 20
// c가 undefined일 때, -> c = 30
// 가 될 수 있도록
// 방법 1 : a의 typeof가 undefined일 때, a = 10으로 초기화
// 이 방법이 가장 안전.
if (typeof (a) == "undefined") { a = 10; }
// 방법 2 : !를 써주면 undefined라는 뜻 (undefined = false이므로)
// 즉, ! = undefined일 때 라는 뜻이 된다. : !b = b가 undefined일 때
if (!b) { b = 20; }
// 방법 3 : 짧은 조건문 사용
c = c || 30; // 논리합(||)연산자 = <불표현식>이 거짓일 때 실행됨.
// 다만, 이 방법은 사용자가 0, "" 등을 입력했을 때
// false로 취급되어 의도하지 않은 결과가 나올 수 있으므로 주의!
// * 참고 : 논리곱(&&)연산자 = <불표현식>이 참일 때 실행됨.
alert(a + b + c);
}
// 이 방법들은 ECMAScrpipt5까지 사용되던 방법이며,
// 기본 매개변수를 너무 많이 사용하다보니,
// ECMAScrpipt6에서는 쉽게 할 수 있는 방법을 제공하게 되었다.
// 매개변수에 곧바로 적용하는 방식(ECMAScrpipt6)
function test(a=10, b=20, c=30) {
alert(a + b + c);
}
test();
// 만약 기본 매개변수가 있는 것도 있고, 없는 것도 있어야 한다면,
function test(a, b=20, c=30) {
alert(a + b + c);
}
test(10);
// 이와 같이 앞의 매개변수를 비워두어야
// 값을 입력하여 사용할 수 있다.
</script>
'Java Script 자바스크립트' 카테고리의 다른 글
[함수] 매개변수로 넣은 값, 모두 곱해주기 (0) | 2021.05.10 |
---|---|
[함수] 매개변수를 제곱해주는 함수 만들기 (0) | 2021.05.10 |
[함수] 자바스크립트 실행 순서 & 반복문에서의 문제 및 해결 (0) | 2021.05.10 |
[함수] 콜백 함수 (0) | 2021.05.10 |
[함수] 리턴값 - 찾고 싶은 숫자까지만 반복 실행 (0) | 2021.05.10 |