매개변수가 있으면 그 값을 사용하고 매개변수가 없다면 디폴트 매개변수를 받는다.
//옛날 방식
function rollDie(numSide){
//매개변수가 없다면 기본값을 설정해준다.
if(numSide === undefined){
return Math.floor(Math.random()*6)+1
}
return Math.floor(Math.random()*numSide)+1
}
console.log(rollDie());
console.log(rollDie(20));
//지금 방식
//지금 방식
//파라미터 값에 기본값을 할당해줌 값이 들어오면 값대로 값이 안 들어오면 기본값으로
function rollDie2(numSide=6){
return Math.floor(Math.random()*numSide)+1
}
console.log(rollDie2());
console.log(rollDie2(20));
//파라미터가 여러개일 때 순서 문제가 발생
function greet(msg='hello', person){
return `${msg}, ${person}`
}
console.log(greet('hi', 'lee')) // hi, lee
console.log(greet('lee')); // lee, undefined
//해결방법은 디폴트값이 없는 파라미터를 먼저 쓰고 디폴트값이 있는 파라미터는 뒤로 배치
function greet2( person,msg='hello'){
return `${msg}, ${person}`
}
console.log(greet2('hi', 'lee')) //lee, hi
console.log(greet2('lee')); // hello, lee