📱테스트 환경
"react": "18.3.0",
"react-dom": "18.3.0"
이번에 Antd RangePicker 연결하면서 Dayjs 을 사용하는 것을보고
오랜만에 잊고있었던 Day.js 가 생각나면서 흔히 사용하는 Moment 대신 사용하는
이유를 다시한번 상기하는 시간을 가지게 되면 좋을 것 같아 기록하게 되었다.
Moment.js와 Day.js는 모두 날짜와 시간 작업을 위한 라이브러리이다.
두 라이브러리 모두 시간 형식 지정, 날짜 조작, 타임존 지원 등의 기능을 제공한다.
Moment | Day.js |
날짜 형식 지정 및 변환 | Moment.js와 비슷한 API 제공 |
날짜 간 차이 계산 | 불변성 (immutable data structure) 지원 |
날짜 조작 (더하기, 빼기 등) | 빠르고 가벼운 성능 |
다양한 로케일 지원 | 플러그인 기반으로 필요한 기능만 추가 가능 |
플러그인과 타임존 지원 | 다국어 및 로케일 지원 |
기능적인 면으로는 어떤걸 써도 상관없어 보이지만
사실 가장 큰 단점은 라이브러리의 크기 차이다.
Moment.js의 크기는 약 280KB 이상으로 메모리와 성능 부하가 발생할 수 있다곤 하지만
사실 요즘 컴퓨터 성능이 좋아 문제될일은 없지만
이런거 최적화 하는게 개발하는 사람의 사명 아니겠는가 ...!!
반면 Day.js는 기본적으로 2KB 정도로 가볍고
필요한 기능만 플러그인 형태로 추가할 수 있어 효율적으로 사용이 가능하다.
다른 이유들도 있겠지만 아무래도 라이브러리 크기차이가 가장 큰 차이점이기때문에
이정도만 알고 있어도 아주 훌륭할것이다.
코드 안정성이나 불변성 지원 등 성능도 훨씬 빠르기 때문에 Day.js 를 권장한다.
'Javascript > React' 카테고리의 다른 글
[React] Styled-Compoent (1) | 2024.11.15 |
---|---|
[React] reactRender is not a function (0) | 2024.11.11 |
[React] Styled-components 사용 왜 ? (0) | 2024.07.26 |
[React] Ant Design Table 사용 시 'key' prop (1) | 2024.05.02 |
[React] React-Quill + highlight.js (0) | 2024.05.02 |