π» TypeScript 5.9. Π§ΡΠΎ ΡΡΠΎΠΈΡ Π·Π½Π°ΡΡ
TypeScript 5.9 Π²ΡΡΠ΅Π» 1 Π°Π²Π³ΡΡΡΠ° 2025 ΠΈ ΠΏΡΠΈΠ½Π΅Ρ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ:
1. import defer - ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ Π΄Π»Ρ Π»ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ, Π½ΠΎ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π΅Π³ΠΎ ΠΊΠΎΠ΄ ΡΡΠ°Π·Ρ - ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ Π΅Π³ΠΎ ΡΠΊΡΠΏΠΎΡΡΠ°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΎ ΡΠΏΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Ρ ΡΡΠΆΡΠ»ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
2. ΠΠΎΠ²ΡΠΉ --module node20 β ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π΄Π»Ρ Node.js v20
ΠΡΠ»ΠΈ ΡΠ°Π½ΡΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ nodenext ΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ, ΡΠ΅ΠΏΠ΅ΡΡ Π΅ΡΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ ΠΎΠΏΡΠΈΡ:
ΠΡΠΎΡ ΡΠ΅ΠΆΠΈΠΌ ΡΠΎΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Node.js 20 ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠ°Π²ΠΈΡ target: es2023
3. tsc --init ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ ΠΈ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ tsconfig.json Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ:
- "strict": true
- "jsx": "react-jsx"
- "isolatedModules": true
β¦ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
4. Π£Π»ΡΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ (hover) Π² VS Code
- Expandable Hovers (Preview): ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ/ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠΈΠΏΡ ΠΏΡΡΠΌΠΎ Π² tooltip Ρ ΠΏΠΎΠΌΠΎΡΡΡ + ΠΈ β.
- Configurable Maximum Hover Length: Π΄Π»ΠΈΠ½Π° ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π°, ΠΈ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ (js/ts.hover.maximumLength), ΡΡΠΎΠ±Ρ Π±ΡΠ»Π° Π²ΡΡ Π½ΡΠΆΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
5. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
- ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ instantiation ΡΠΈΠΏΠΎΠ². ΠΠ΅Π½Π΅Π΅ Π·Π°ΡΡΠ°ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΄Π»Ρ Zod, tRPC ΠΈ Ρ.ΠΏ.)
- ΠΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π² Π±ΠΎΠ»ΡΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠ΅Π»ΠΈΠ·Π΅ - https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/
Π.Π«: Π ΡΠ΅Π»ΠΎΠΌ, Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΡΠΎΠΌΠ΅ ΡΠΈΡΠΈ Ρ defer. ΠΠ»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ ΠΈ Π½Π° ΡΠΎΠΌ ΡΠΏΠ°ΡΠΈΠ±ΠΎ
Π― Π²Π΅Π΄Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ, Π½ΠΎ Π±ΡΠ΄Ρ ΡΠ°Π΄ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ Π½Π° ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ ΠΊΠ°Π½Π°Π». Π’Π°ΠΌ Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΎΠ± Π°ΠΉΡΠΈ ΠΈ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π΅ Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π° Π² ΡΠ°ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌ Π²ΡΠ΅ ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ.