aotoyae

[JS] Optional Parameters 옵셔널 파라미터 본문

JavaScript

[JS] Optional Parameters 옵셔널 파라미터

aotoyae 2023. 12. 29. 13:32

 

 

❗️파라미터의 기본값을 설정해 둘 수 있다.

function(x, y = '기본값') {}

function introduce(name, age, nationality = '한국') {
  console.log(`저는 ${name}입니다.`);
  console.log(`나이는 ${age}세 이고,`);
  console.log(`국적은 ${nationality}입니다.`);
}

introduce('aoto', 20, '미국'); // 값을 모두 전달한 경우
// 저는 aoto입니다.
// 나이는 20세 이고,
// 국적은 미국입니다.

introduce('yae', 19); // 파라미터 값을 생략한 경우
// 저는 yae입니다.
// 나이는 19세 이고,
// 국적은 한국입니다.

 

❗️주의) 기본값을 설정해 둘 파라미터가 가장 뒤에 위치해야 한다.

function introduce(name, nationality = '한국', age) {
  console.log(`저는 ${name}입니다.`);
  console.log(`나이는 ${age}세 이고,`);
  console.log(`국적은 ${nationality}입니다.`);
}

introduce('aoto', 20, '미국'); // 값을 모두 전달한 경우
// 저는 aoto입니다.
// 나이는 20세 이고,
// 국적은 미국입니다.

introduce('yae', 19); // 파라미터 값을 생략한 경우
// 저는 yae입니다.
// 나이는 undefined세 이고,
// 국적은 19입니다.

 

파라미터 값을 생략한 경우,

전달 순서가 밀려서 19가 nationality로 전달이 되고,

age는 전달이 되지 않았기 때문에 undefined가 나온다.