Javascript/React

[React] Moment 대신 Day.js

eulBlue 2024. 11. 14. 20:54

📱테스트 환경

"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