[React] day.js vs moment.js

2023. 6. 22. 15:43·React/실험실
반응형

얼마 전 day.js의 장점으로 isAfter, isBefore, isBetween에 대해서 이야기했다. 

그 후, moment.js를 살펴보니 moment.js에도 동일한 함수가 있었다. 

 

그렇게 생각하니 day.js와 moment.js는 어떤 부분이 다른지 궁금증이 생겼다. 

찾아보니 기능적인 차이점은 많이 없었다. 

 

1. 크기 

day.js는 moment.js보다 가벼운 라이브러리로 알려져 있다. 

라이브러리의 크기는 성능에 중요한 영향을 미치는데, day.js는 moment.js보다 훨씬 작다. 

 

moment.js는 압축하고 minify 했을 때 약 60KB인 반면, day.js는 압축하고 minify 했을 때 2KB이다. 

이것은 프론트엔드에서 매우 중요한데, 페이지 로드 시간에 영향을 줄 수 있다. 

 

2. 불변성 

moment.js의 일부 메서드는 원래의 날짜 객체를 변경하는 기능을 가지고 있다. 

이러한 기능은 예기치 않은 부작용을 일으킬 수 있다. 하지만 day.js는 항상 새로운 객체를 반환하므로 걱정하지 않아도

된다. 

 

3. 플러그인 시스템 

day.js는 플러그인 시스템을 제공하여 필요한 기능만 선택적으로 추가할 수 있다. 

이는 라이브러리의 크기를 최소한으로 유지하면서도 필요한 기능을 사용할 수 있게 한다. 

 

하지만 moment.js는 모든 기능이 기본적으로 포함되어 있다. 

 

4. 유지보수 

moment.js의 개발팀은 2020년 이후 새로운 기능을 추가하지 않기로 결정하였다. 

버그  수정 및 보안 패치는 여전히 제공하지만, 새로운 기능을 원하는 경우 day.js와 같은 대체품을 검토하는 것이 좋다. 

 

5. 지원하는 브자우저 

moment.js는 IE 8 이상의 브라우저를 지원하지만, day.js는 IE 10 이상의 브라우저를 지원한다. 

 

결과적으로 사용하는데는 day.js와 moment.js는 큰 차이가 없다. 

그말은 moment.js를 사용하다가 day.js로 넘어와도 크게 불편함이 없다는 것이다. 

 

moment.js보다 day.js가 찾아봤을 때 이득이 더 많았으므로 day.js를 앞으로 이용할 것 같다. 

반응형
저작자표시 비영리 변경금지 (새창열림)

'React > 실험실' 카테고리의 다른 글

[React] 빌어먹을 iOS - vh 편  (0) 2023.08.29
[React] 메일 템플릿 만들기  (1) 2023.08.07
[React] dayjs  (0) 2023.06.13
[React] MSW 잘 사용해보기  (0) 2023.06.08
[React] Cookie  (1) 2023.06.01
'React/실험실' 카테고리의 다른 글
  • [React] 빌어먹을 iOS - vh 편
  • [React] 메일 템플릿 만들기
  • [React] dayjs
  • [React] MSW 잘 사용해보기
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    리액트
    webpack
    Babel
    redux
    덤프
    자바스크립트
    타입스크립트
    네이버 부스트캠프
    영어회화
    typescript
    ChatGPT
    Node.js
    javascript
    리얼클래스
    식물
    CCNA
    바질
    Docker
    다이소
    next.js
    리얼학습일기
    프로그래머스
    영어독학
    CSS
    react
    ReactNative
    바질 키우기
    타일러영어
    네트워크
    알고리즘
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[React] day.js vs moment.js
상단으로

티스토리툴바