Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Moment.js ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΠ΅ΠΌ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, Π·Π°ΠΌΠΎΡΠΎΠ·ΠΊΡ API ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΠ·Π½ΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π±Π°Π·Ρ ΡΠ°ΡΠΎΠ²ΡΡ
ΠΏΠΎΡΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ»Ρ Π½ΠΎΠ²ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Moment.js ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Moment.js ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π΄Π°ΡΠ°ΠΌΠΈ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π΄Π΅-ΡΠ°ΠΊΡΠΎ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡΠ½ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΎΠΊΠΎΠ»ΠΎ 12 ΠΌΠ»Π½ ΡΠ°Π·. ΠΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΏΡΠΈΠ½ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ°Π»ΠΎ ΠΎΡΠΎΠ·Π½Π°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΡΠ°ΡΠ΅Π» ΠΈ Π½Π΅ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° JavaScript.
ΠΠ· Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (329KB Π±Π΅Π· ΡΠΆΠ°ΡΠΈΡ, 70ΠΠ ΡΠΎ ΡΠΆΠ°ΡΠΈΠ΅ΠΌ) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (mutable, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° moment ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π°).
Π ΠΎΠ±Π·ΠΎΡΠ°Ρ
ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Moment.js, ΠΊΠ°ΠΊ Π½ΠΈΠ·ΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π·Π°ΠΏΡΡΠ°Π½Π½ΠΎΡΡΡ API, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ «Tree shaking» (ΡΡΠ΅Π·Π°Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ) ΠΈ ΡΡΡΠ΄ΠΎΡΠΌΠΊΠΎΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. Π‘ΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΊΠ°ΠΏΠ»Π΅ΠΉ, ΠΏΠΎΠ΄ΡΠΎΠ»ΠΊΠ½ΡΠ²ΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Moment.js Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ, ΡΡΠ°Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π°ΡΠ΄ΠΈΡΠ° web-ΡΡΡΠ°Π½ΠΈΡ Lighthouse, Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ web-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Chrome — Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ Lighthouse ΡΡΠ°Π» Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΈΠ·Π»ΠΈΡΠ½Π΅ΠΉ ΡΠ°Π·Π΄ΡΡΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° Moment.js ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ.
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ API Intl Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π»ΠΎΠΊΠ°Π»ΡΠΌΠΈ ΠΈ ΡΠ°ΡΠΎΠ²ΡΠΌΠΈ ΠΏΠΎΡΡΠ°ΠΌΠΈ. ΠΠ°Π½Π½ΡΠΉ API ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Luxon, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Moment.js ΠΈ ΠΏΡΠ΅ΠΏΠΎΠ΄Π½ΠΎΡΠΈΠΌΠΎΠΉ ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³ ΡΠ²ΠΎΠ»ΡΡΠΈΠΈ Moment.js. ΠΡΠΎΠΌΠ΅ Luxon Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Day.js (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Moment.js Ρ ΠΏΠΎΡ
ΠΎΠΆΠΈΠΌ API, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 7ΠΠ Π±Π΅Π· ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²), date-fns, js-joda (ΠΏΠΎΡΡ java.time) ΠΈ ΡΡΠ°ΡΠ½ΡΠ΅ JavaScript-ΠΎΠ±ΡΠ΅ΠΊΡΡ Date ΠΈ Intl, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Ρ
ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊΠ° API Temporal.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru