Π ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ JavaScript-ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Node.js ΠΏΡΠΈΠ½ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠ΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ TypeScript. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ·ΡΠΊΠ° TypeScript Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΡΠΈΠΈ «—experimental-strip-types» ΠΈ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΎΡΠΈΡΡΠΊΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΡΠΈΠΏΠΎΠ², Ρ.Π΅. ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² JavaScript. ΠΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ TypeScript, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½, Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΡ, ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΠΌΡΠ΅ ΡΠΈΠΏΡ (enum), ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. ΠΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΌΠΈ Π½ΠΎΡΠ½ΡΠΌΠΈ ΡΠ±ΠΎΡΠΊΠ°ΠΌΠΈ Node.js 23.
ΠΠ»Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ SWC (Speedy Web Compiler), Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΊ Node.js, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° swc/wasm-typescript, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ WebAssembly ΠΈ ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠ΅Ρ ΠΆΠ΅ ΡΠ΅Π»Π΅ΠΉ Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Deno. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² ΠΎΡΠ²Π΅Ρ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΡΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π° TypeScript Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠ² ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. Π ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ Deno ΠΈ Bun ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° TypeScript Π±ΡΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ.
ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΠΎΡΠ»ΠΈΡΠΈΠ΅ΠΌ TypeScript ΠΎΡ JavaScript ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ². Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Ρ
Π½ΠΈΠΊΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΈ ΠΏΡΠΎΡΡΡΠΌ Π΄Π»Ρ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ. Π Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π² Node.js ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ TypeScript ΡΠ΅ΡΡΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ
ΡΠ΅ΠΊΡΡΠΎΠ² Π² JavaScript ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² Π½Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru