getStringedDate month , date 변환 질문
안녕하세요! 이정환님 강의 정말 재미있게 잘 보고 있습니다. 😊
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을 붙이는구나"라고 이해할 수 있어요! 그래서 초보자나 다양한 수준의 개발자들이 함께 보기 좋을 것 같아요
useEffect와 lifecycle문의
0
16
1
프론트엔드 학습 수준 문의
0
27
2
리액트 챕터별 코드에서 eslint 설정파일이 없어요
0
42
2
데이터 로딩중 화면만 계속 나와요!!
0
51
2
퍼블리셔일경우 어느정도 수준까지 강의를 들어야할까요
0
76
2
이후의 커리큘럼 문의
0
101
2
실슬환경 설정에서 save후 console.log 부분이 새로고침이 안되는현상입니다.
0
49
2
최적화 관련 질문있습니다 (useMemo 등)
0
82
3
프로바이더 컴포넌트의 위치는 어떤 기준인가요?
1
79
3
Date 객체에 관련하여 질문드립니다.
0
82
2
리액트 개정판 교재 질문
0
58
2
예제코드가 안나와요!
0
75
2
select a variant 선택에서 javascript와 javascript+react compiler 중 무엇을 선택해야하나요? com
0
104
2
onMouseEnter 관련 문의 드립니다
0
89
3
배열의 렌더링 관련 질문 드립니다.
0
70
2
2:40초 refObj를 콘솔로 출력시 오류가 발생합니다.
0
111
2
TS, 리액트 강의중에 뭘 먼저 수강하는게 좋을까요?
0
131
2
useCallback 적용한 onCreate, onUpdate, onDelete 함수..
0
66
1
vs code 자동완성관련 문의
0
107
2
91강 useEffect내에서 상태변화함수 호출시 발생하는 에러
1
174
2
87강 필터 함수 질문
0
65
2
useRef, useState count 비교
0
64
2
안된다고했던 이유가 무엇이었는지 모르겠습니다
0
86
2
85강에서 객체를 왜 클래스로 만들어서 new 하지 않는건지 궁금합니다.
0
73
2





