ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Microsoft ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° TypeScript 6.0, Π΅Π·ΠΈΠΊ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·ΡΠΈΡΡΠ²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° JavaScript, ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ Π½Π΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ. ΠΠΎΠ΄ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ° TypeScript ΠΊΠΎΠ΄Π° Π² JavaScript ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅, ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Apache 2.0, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΡΠ΅Π· GitHub. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π½Π° Π΅Π·ΠΈΠΊΠ° ΡΠ° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΠΏΠΎΡΠ°Π·ΡΠΌΠ΅Π½ΠΈΠ΅ΡΠΎ Open Web Foundation Specification Agreement.
ΠΠ·ΠΈΠΊΡΡ TypeScript ΡΠ°Π·ΡΠΈΡΡΠ²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° JavaScript, ΠΎΡΡΠ°Π²Π°ΠΉΠΊΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ΡΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° TypeScript. ΠΠ°Π²ΡΡΡΠ΅Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° TypeScript ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ JavaScript, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π΅Π½ ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ 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. ΠΠ° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π΅Π½ release Π½Π° 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). Π ΠΏΠΎΠ»Π΅ΡΠΎ target Π΅ ΠΎΠ±ΡΠ²Π΅Π½Π° ΠΎΡΡΠ°ΡΡΠ»Π° Π²Π΅ΡΡΠΈΡ 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
