본문 바로가기
Language/JavaScript (Modern)

[ES6+] 기본 함수 매개변수 (default function parameter)

by 썸머워즈 2021. 12. 28.
반응형

자바스크립트에서 함수의 매개변수는 기본값이 undefined 였지만

ES6에서 이 함수의 매개변수 기본값을 설정해 줄 수 있다.

 

구문은 다음과 같다.

 

▷구문

function fnName(param1 = defaultValue1, ..., paramN = defaultValueN) { ... }

 

예제를 통해 더 쉽게 접근해보자.

 


1. 일반적인 함수 매개변수의 기본값

function mine(a){
	return a;
}

console.log(mine()); // undefined

 

위 예제를 보면 함수의 매개변수는 기본적으로 undefined값을 가진다.

그래서 매개변수를 넣지 않고 함수를 그냥 실행해 버리면 undefined를 그대로 반환하는것이다.

 

그래서 이를 방지하기 위해 매개변수에 기본값을 사용하여 미리 방지할 수 있다.

 

2. 함수 매개변수의 기본값 설정

function mine(a = 'it-record'){
	return a;
}

console.log(mine()); // it-record

 

1번 예제와 동일하게 호출을 하였지만 기본 매개변수의 기본값을 주입해놓았기 때문에 기본값이 출력되는 것을 볼 수 있다.


함수 매개변수 기본값을 사용하기에 앞서 하나 주의할 점은 매개변수가 undefined 일 때만 작동한다는 것이다.

 

이게 의미하는바는 script에서는 false로 간주하는 것들이 있는데 (모른다면 아래 링크를 통해 확인해보자.)

 

https://mine-it-record.tistory.com/163

 

[JavaScript] 비교 시 false로 간주되는 것들 ('' , 0 , undefined , NaN , null)

- 값 비교 시 false로 간주되는 것들 - script문에서 기본적으로 false로 간주되는 것들이 존재하는데 바로 ( ""(빈값), 0 , undefined, NaN, null ) 이다. 이 글의 내용은 저게 전부지만 일단 예제를 통해 어떻

mine-it-record.tistory.com

 

false로 간주되는 것들이 매개변수로 들어가게되면 기본값이 작동을 안하고 그 값들을 그대로 출력해준다.

function mine(a = 'it-record'){
	return a;
}

console.log(mine(undefined)); // it-record
console.log(mine(0)); // 0
console.log(mine(null)); // null
console.log(mine('')); // ''
console.log(mine(NaN)); // NaN

일반 기본적으로 위와 같이 사용하는 것이고 좀 더 상세하게 들어가면 많은 내용이 존재한다.

상세한 내용은 아래 링크를 통해 배워보자.

 

참고 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Default_parameters

 

기본값 매개변수 - JavaScript | MDN

기본값 함수 매개변수 (default function parameter)를 사용하면 값이 없거나 undefined가 전달될 경우 이름붙은 매개변수를 기본값으로 초기화할 수 있습니다.

developer.mozilla.org

 

반응형


댓글

TOP