ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Microsoft ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° ΡΠ΅Π»ΠΈΠ· TypeScript 6.0, ΡΠ·ΡΠΊΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ JavaScript, ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π½ΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄ TypeScript Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ JavaScript, ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π΅Π΄ΡΡΡΡ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠ²ΠΈΡ GitHub. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ·ΡΠΊΠ° ΠΎΡΠΊΡΡΡΡ ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ Open Web Foundation Specification Agreement.
Π―Π·ΡΠΊ TypeScript ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ JavaScript, ΠΎΡΡΠ°Π²Π°ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° TypeScript. ΠΡΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° TypeScript ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΎΠ±ΡΡΠ½ΡΠΉ JavaScript, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ web-Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ c ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ Node.js, Bun ΠΈ Deno. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° TypeScript ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡ JavaScript ΡΠ·ΡΠΊ TypeScript ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π΄Π»Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ, Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΈ ΠΏΡΠΎΡΡΡΠΌ Π΄Π»Ρ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ.
ΠΠ΅ΡΠΊΠ° TypeScript 6.0 ΠΎΡΠΌΠ΅ΡΠ΅Π½Π° ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ TypeScript, ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΌ Π² JavaScript. Π Π²Π΅ΡΠΊΠ΅ TypeScript 7.0 ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΡ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ typescript-go (tsgo), ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠΉ Ρ 2024 Π³ΠΎΠ΄Π° Π½Π° ΡΠ·ΡΠΊΠ΅ Go. ΠΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ, ΡΠΌΠ΅Π½ΡΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠΎΠΊΡΠ°ΡΠΈΡ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΠΊΠΎΠ΄Π°, ΡΡΠΎ ΡΠ΅ΡΠΈΡ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΡΠ΅ Π½ΡΠ½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ . Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π±ΡΡΡΡΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ.
ΠΠ΅ΡΠΊΠ° TypeScript 6.x ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎ ΡΡΠ°ΡΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ, Π½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΊ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π½Π° Π½ΠΎΠ²ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠΏΡΡΠΊ TypeScript 6.0 ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ²ΡΠ·ΡΡΡΠ΅Π΅ Π·Π²Π΅Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ TypeScript 5.9 ΠΈ 7.0, ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π²Π΅ΡΠΊΡ TypeScript 7.0. ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π²ΡΠΏΡΡΠΊ TypeScript 7.0, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠΉ Π² ΡΠΎΡΠΌΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊ VSCode ΠΈ NPM-ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΠΎΡΠ»Π΅ ΡΠ΅Π»ΠΈΠ·Π° TypeScript 7.0 Π²Π΅ΡΠΊΠΈ 6.x ΠΈ 7.x Π±ΡΠ΄ΡΡ ΡΠΎΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π²Π΅ΡΠΊΠ° TypeScript 7.x Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ Π·ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ°ΡΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ.
Π‘ΡΠ΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² TypeScript 6.0:
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠ² Β«#/Β» Π² ΡΡΠΈΠ»Π΅ Node.js Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠ² ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΡΠ΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, βimport * as utils from Β«#root/utils.jsΒ»β Π²ΠΌΠ΅ΡΡΠΎ βimport * as utils from Β«../../utils.jsβ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ»Π°Π³ Β«βstableTypeOrderingΒ» Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² Π²Π΅ΡΠΊΠ΅ TypeScript 7 Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΈΠΏΠΎΠ² Π²Π½ΡΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² Π² Π»ΡΠ±ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ . Π Π΅ΠΆΠΈΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠΌ Π½Π° Π²Π΅ΡΠΊΡ TypeScript 7, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² TypeScript 6.0 ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π° 25%.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π»Ρ API Temporal, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠ΅Π³ΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°ΡΠ°ΠΌΠΈ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°ΡΠ°ΠΌΠΈ Ρ ΡΡΡΡΠΎΠΌ ΠΈ Π±Π΅Π· ΡΡΡΡΠ° ΡΠ°ΡΠΎΠ²ΡΡ ΠΏΠΎΡΡΠΎΠ², ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ, ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠΈΠΏΡ Π΄Π»Ρ upsert-ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² getOrInsert ΠΈ getOrInsertComputed Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ Map ΠΈ WeakMap, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΡ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠ΅Π΅ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΠΊΠ»ΡΡΠΎΠΌ, ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡΠΈΡ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ, Π΅ΡΠ»ΠΈ ΠΊΠ»ΡΡΠ° Π½Π΅ Π½Π°ΡΠ»ΠΎΡΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ RegExp.escape, ΡΠΊΡΠ°Π½ΠΈΡΡΡΡΠ΅ΠΉ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΡΡΠΎΠΊΠ°Ρ Π΄Π»Ρ ΠΈΠ· Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π±Π»ΠΎΠ½Π° Π²Π½ΡΡΡΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ RegExp().
- ΠΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ rootDir ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Β«.Β», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡΠ½ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ tsconfig.json, Π² Π½Π΅ Π½Π° ΡΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
- ΠΠΎΠ»Π΅ Β«typesΒ» Π² tsconfig.json ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Β«[]Β» Π²ΠΌΠ΅ΡΡΠΎ Β«[Β«*Β»]Β», Ρ.Π΅. TypeScript ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠ· Β«node_modules/@typesΒ» ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, [Β«nodeΒ», Β«jestΒ»])). ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π½Π° 20-50%.
- ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ target ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ECMAScript (es2025). Π ΠΏΠΎΠ»Π΅ tagret ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΡ es5 (ECMAScript 5), Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°ΡΠ²Π»Π΅Π½Π° Π²Π΅ΡΡΠΈΡ es6 (ECMAScript 2015).
- ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ ΡΠ΅ΠΆΠΈΠΌ strict Π΄Π»Ρ ΡΡΡΠΎΠ³ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ².
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ module ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΡΡΠ°Π²Π»Π΅Π½ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«esnextΒ», Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΡ JavaScript-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ (ESM) Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΠΌΠΈ import ΠΈ export, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° CommonJS.
- ΠΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ:
- ΠΠΏΡΠΈΡ Β«βbaseUrlΒ».
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° module Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ (Β«module Foo { β¦ }Β» Π²ΠΌΠ΅ΡΡΠΎ Β«namespace Foo { β¦ }Β»).
- ΠΠΏΡΠΈΡ Β«βoutFile Β» (ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠΈΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ esbuild, Rollup, ΠΈ Webpack);
- Π Π΅ΠΆΠΈΠΌ Β«βmoduleResolution: classicΒ» (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ nodenext ΠΈΠ»ΠΈ bundler).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
