해결된 질문
작성
·
61
0
안녕하세요! 이정환님 강의 정말 재미있게 잘 보고 있습니다. 😊
New 페이지 구현하기 2.기능 강의 중에
const getStringedDate = (targetDate) => {
let year = targetDate.getFullYear();
let month = targetDate.getMonth() + 1;
let date = targetDate.getDate();
if(month < 10) {
month = `0${month}`;
}
if(date < 10) {
date = `0${date}`;
}
return `${year}-${month}-${date}`;
}
로 날짜 변환 함수로 강의에서 언급 해주셨는데요!
혹시 이건 어떨까요?
const getStringedDate = (targetDate) => {
return `${targetDate.getFullYear()}-${String(targetDate.getMonth()
+1).padStart(2,0)}-${String(targetDate.getDate()).padStart(2,0)}`;
}
결과는 동일하게 나올 수 있을 것 같아 상관은 없지만 보통 저런 경우에는 조건문을 애용하시는 편이실까요? 어떤 방식으로 짜는 것을 더 선호 하시는지 정말 호기심에 질문을 드립니다! 😆
답변 1
1
안녕하세요 이정환입니다.
코드가 짧고 간결해진다는 포인트에서는 좋은 변경인 것 같아요!! 대신 가독성 측면에서 고려해보면 상황에 따라 장단점이 나뉠 수 있어요
단축된 방식으로 작성할 경우 padStart 메서드에 익숙하지 않거나 자바스크립트 초보자라면, "이 코드가 무슨 역할을 하는지" 처음엔 직관적으로 이해하기 어려울 수 있을 것 같아요 특히, 숫자를 문자열로 바꾸고, 거기에 padStart까지 쓰는 흐름이 익숙하지 않다면 오히려 조건문보다 읽는 데 시간이 더 걸릴 수도 있을 듯 해요.
조건문으로 작성한 경우 로직이 명확하게 드러나서, 누구나 쉽게 "10보다 작으면 앞에 0을 붙이는구나"라고 이해할 수 있어요! 그래서 초보자나 다양한 수준의 개발자들이 함께 보기 좋을 것 같아요
답변 감사합니다! 😊