웹 개발 메모장

[자바스크립트] 기본 매개변수 본문

옛날../자바스크립트

[자바스크립트] 기본 매개변수

도로롱주 2018. 1. 3. 11:33




기본 매개변수



다음과 같은 함수가 있다고 합시다.


1
2
3
function test(a, b, c){
    alert(a+', '+b+', '+c);
}
cs



일반적으로 다음과 같이 호출합니다.

1
test('a','b','c');
cs


결과는 예상한대로 a, b, c 가 출력됩니다.



이번엔 인자를 두 개만 주고 호출해보겠습니다.

1
test('a','b');
cs


에러가 나지 않고 변수 c 에는 undefined 가 저장되는 것을 알 수 있습니다.





이럴 때 함수의 매개변수가 전달되지 않는 경우 매개변수를 초기화 해줄 수 있습니다.

undefined는 조건에서 false 를 의미한다는 것을 이용합니다.


1
2
3
4
5
6
7
8
9
10
function test(a, b, c){
    if(!a)
        a = 'A';
    if(!b)
        b = 'B';
    if(!c)
        c = 'C';
    
    alert(a+', '+b+', '+c);
}
cs


이번에도 인자를 두 개만 주고 호출해보겠습니다.

1
test('a','b');
cs


이번에는 매개변수가 정의되지 않은 경우 각각 초기화를 시켜줬기 대문에 'C' 가 들어간 것을 볼 수 있습니다.



위의 함수를 짧은 조건문으로 표현할 수도 있습니다. (많이 사용하는 형태로 매우 중요한 형태입니다.)

1
2
3
4
5
6
7
function test(a, b, c){
    a = a || 'A';
    b = b || 'B';
    c = c || 'C';
    
    alert(a+', '+b+', '+c);
}
cs



ECMAScript 6 이상 부터는 기본 매개변수를 쉽게 만들 수 있는 문법을 제공하는데 다음과 같이 사용합니다.

1
2
3
function test(a='A', b='B', c='C'){    
    alert(a+', '+b+', '+c);
}
cs




Comments