개념
Optional Parameter.
단어는 좀 어렵지만 간단히 말하자면 파라미터에 기본값을 넣어주는 것이다.
해당 자리에 아무것도 전달되지 않으면 기본값으로 옵셔널 파라미터 값이 적용되는 것을 말한다.
function introduce(name, age, nation='한국') {
console.log(`${name}, ${age}, ${nation}`);
}
introduce('소담', 19, '독일'); // 소담, 19, 독일
introduce('유영', 22); // 유영, 22, 한국
이 코드에서
function introduce(name, age, nation='한국') {
`nation='한국'`이 옵셔널 파라미터가 적용된 부분이다.
주의사항
옵셔널 파라미터를 특정 파라미터에만 적용할 경우, 가장 마지막 파라미터에만 적용할 수 있다.
자바스크립트는 위치 기반으로 파라미터를 매칭하기 때문이다.
function introduce(name='슬기', age, nation){
console.log(`${name}, ${age}, ${nation}`);
}
introduce(19, '독일'); // 19, 독일, undefined
이처럼 단 한 개의 옵셔널 파라미터가 마지막 파라미터가 아닌 경우, 실행 결과가 예상과 달라진다.
`슬기, 19, '독일'`이 되어야 할 것 같은데 결과는 `19, 독일, undefined`가 된다.
그래서 특정 파라미터만 기본값을 설정하고 싶다면 객체 형태로 파라미터를 받는 구조로 리팩터링하는 것이 좋다.
function introduce({name='슬기', age, nation}){
console.log(`${name}, ${age}, ${nation}`);
}
introduce({ age: 19, nation: '독일' }); // 슬기, 19, '독일'
'JS' 카테고리의 다른 글
| 0.1 + 0.2 !== 0.3 (+해결방법) (0) | 2025.03.04 |
|---|---|
| 객체 순회 문제에서 파생된 두 가지 문제들 (0) | 2025.03.03 |
| 콘솔 로그 안에서 콘솔 로그를 호출하면? (0) | 2025.03.02 |
| 형 변환 (문자, 숫자 -> 불리언 & 산수연산, 관계연산) (0) | 2025.03.01 |
| 이중 부정(!!) (0) | 2025.03.01 |