JavaScript replit 13
Assignment
index.js에서 meetAt
함수를 만들어주세요.
- 인자를 세개 받습니다.
- 첫번째 인자는 년도에 해당하는 숫자입니다.
- 두번째 인자는 월에 해당하는 숫자입니다.
- 세번째 인자는 일에 해당하는 숫자입니다.
- 년도 인자만 받았을 경우 →
"1234년"
과 같은 형식의 문자열을 리턴 해주세요.
- 년도,월 인자를 받았을 경우 → 년도와 월을 조합해서
"1234년 5월"
과 같은 형식의 문자열을 리턴 해주세요.
- 년도,월,일 인자를 전부 받았을 경우 → 년도,월,일을 조합해서
"1234/5/6"
과 같은 형식의 문자열을 리턴 해주세요.
meetAt(2022);
meetAt(2032, 3);
meetAt(1987, 10, 28);
Code
function meetAt(year, month, date) {
if(date){
return `${year}/${month}/${date}`
}
if(month){
return `${year}년 ${month}월`
}
if(year){
return `${year}년`
}
}
- 코드를 작성하면서 들었던 의문점은
if
가 매개 변수 순서대로인 year
, month
, date
순이 아닌, 왜 역방향인 date
, month
, year
인지였다. 그 답은 바로 return
때문이었다.
function meetAt(year, month, date) {
if (year) {
return `${year}년`;
}
if (month) {
return `${year}년 ${month}월`;
}
if (date) {
return `${year}/${month}/${date}`;
}
}
- 자바스크립트의 함수 안에서
return
을 만나게 될 경우, 해당 함수는 그 즉시 함수를 종료하고 해당 값을 반환한다. 처음 생각했던 방법인 위 함수에서는 한개 이상의 인자, year
이외 또다른 month
, date
의 변수가 오더라도 return
되어 함수가 종료된다. 때문에 결과 값은 00년
만 뜨게 된다.