meetAt(2022); // 결과 => "2022년"
meetAt(2032, 3); // 결과 => "2032년 3월"
meetAt(1995, 10, 22) // 결과 => "1995/10/22"
생각보다 쉽지 않았다 맨처음 내가 작성한 코드이다
너무 단순하게 생각해서 인자가 undefined인 조건문으로 함수를 작성했는데
콘솔에 찍어보니 제대로 작동이 안됐다
결과는 // "2022년"
그다음 조건은 실행이 안된다는거...
const meetAt = (year,month,day) => {
if (day === undefined || month === undefined) {
return year + "년";
} else if (day === undefined) {
return year + "년" + month + "월";
} else {
return year + "/" + month + "/" + day;
}
};
열심히 구글링해본 결과 aruguments.length 속성을 찾았다.
실제로 함수에 전달된 arguments 의 수를 제공한다고 나와있다.
function meetAt (year, month, date) {
if (arguments.length === 1) {
return year + "년";
} else if (arguments.length === 2) {
return year + "년" + month + "월";
} else {
return year + "/ " + month + "/" + date;
}
};
meetAt(2022,1,11)
찾아보니 더 간단하게 함수를 구현하는 법을 찾았다!!
무조건 첫번째 인자부터 생각해서 함수만드려는게 아니라 마지막인자가 있으면 조건문을 구현해본다는
생각을 미쳐하지 못했다.
const meetAt = (year, month, day) => {
if (day) {
return year + "/" + month + "/" + day;
} else if (month) {
return year + "년" + month + "월";
} else {
return year + "년";
}
};
meetAt(2022, 3,22);