ΠŸΡ€Π΅Π΄Π»Π°Π³Π° сС Π΄Π° сС Π΄ΠΎΠ±Π°Π²ΠΈ синтаксис с информация Π·Π° Ρ‚ΠΈΠΏΠ° към Π΅Π·ΠΈΠΊΠ° JavaScript

Microsoft, Igalia ΠΈ Bloomberg ΠΏΠΎΠ΅Ρ…Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π°Ρ‚Π° Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ синтаксис Π² спСцификацията Π½Π° JavaScript Π·Π° ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΠΈ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° синтаксиса, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² Π΅Π·ΠΈΠΊΠ° TypeScript. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ°, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π·Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π² стандарта ECMAScript, са прСдставСни Π·Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΈ обсъТдания (Π•Ρ‚Π°ΠΏ 0). На слСдващото засСданиС Π½Π° комисията TC39 ΠΏΡ€Π΅Π· ΠΌΠ°Ρ€Ρ‚ сС ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° сС ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ към ΠΏΡŠΡ€Π²ΠΈΡ Π΅Ρ‚Π°ΠΏ Π½Π° Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ с участиСто Π½Π° СкспСртната общност ΠΎΡ‚ ECMA.

НаличиСто Π½Π° ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ посочСна информация Π·Π° Ρ‚ΠΈΠΏΠ° Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° процСса Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ възмоТно ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π° оптимизация, Ρ‰Π΅ опрости отстраняванСто Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎ-Ρ‡Π΅Ρ‚Π»ΠΈΠ² ΠΈ ΠΏΠΎ-лСсСн Π·Π° модификация ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ страни. ΠŸΡ€Π΅Π΄Π»Π°Π³Π° сС ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π΄Π° бъдС Π²Π½Π΅Π΄Ρ€Π΅Π½Π° ΠΊΠ°Ρ‚ΠΎ Π½Π΅Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½Π° функция - Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° JavaScript ΠΈ срСдитС Π·Π° изпълнСниС, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅, Ρ‰Π΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°Ρ‚ Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈΡ‚Π΅ с информация Π·Π° Ρ‚ΠΈΠΏΠ° ΠΈ Ρ‰Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ, Ρ‚Ρ€Π΅Ρ‚ΠΈΡ€Π°ΠΉΠΊΠΈ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° Ρ‚ΠΈΠΏΠ° ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ. Но инструмСнтитС Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ Ρ‰Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½Π°Π»ΠΈΡ‡Π½Π°Ρ‚Π° информация, Π·Π° Π΄Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Ρ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅.

ОсвСн Ρ‚ΠΎΠ²Π°, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ информацията Π·Π° Ρ‚ΠΈΠΏΠ°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π½Π° JSDoc, посочСни ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ, Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎΡ‚ΠΎ посочванС Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² конструкции Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎ-Π²ΠΈΠ·ΡƒΠ°Π»Π΅Π½, Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ ΠΈ ΠΏΠΎ-лСсСн Π·Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅. НапримСр IDE с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° TypeScript Ρ‰Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Ρ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ във въвСдСния JavaScript ΠΊΠΎΠ΄ Π±Π΅Π· Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ прСобразувания. Π’ допълнСниС, Π²Π³Ρ€Π°Π΄Π΅Π½Π°Ρ‚Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ възмоТно стартиранСто Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, написани Π½Π° въвСдСни Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΈ Π½Π° JavaScript, ΠΊΠ°Ρ‚ΠΎ TypeScript ΠΈ Flow, Π±Π΅Π· транспилиранС ΠΎΡ‚ Π΅Π΄ΠΈΠ½ Π΅Π·ΠΈΠΊ Π½Π° Π΄Ρ€ΡƒΠ³.

ΠŸΡ€Π΅Π΄Π»Π°Π³Π° сС Π΄Π° сС Π΄ΠΎΠ±Π°Π²ΠΈ синтаксис с информация Π·Π° Ρ‚ΠΈΠΏΠ° към Π΅Π·ΠΈΠΊΠ° JavaScript

Π‘Ρ€Π΅Π΄ Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π΄Π° сС добавят β€žΠ½ΠΈΠ·β€œ, β€žΡ‡ΠΈΡΠ»ΠΎβ€œ ΠΈ β€žΠ±ΡƒΠ»Π΅Π²β€œ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΡ€ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ, ΠΏΠΎΠ»Π΅Ρ‚Π° Π½Π° класовС, въвСдСни масиви (β€žΡ‡ΠΈΡΠ»ΠΎ[]β€œ). ΠŸΡ€Π΅Π΄Π»Π°Π³Π° сС ΡΡŠΡ‰ΠΎ Π΄Π° сС осигури ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ (β€žΠ½ΠΈΠ· | Π½ΠΎΠΌΠ΅Ρ€β€œ) ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ‡Π½ΠΈ. Π½Π΅ΠΊΠ° x: Π½ΠΈΠ·; функция add(a: число, b: число) { return a + b; } интСрфСйс Π›ΠΈΡ†Π΅ { ΠΈΠΌΠ΅: Π½ΠΈΠ·; Π²ΡŠΠ·Ρ€Π°ΡΡ‚:Π½ΠΎΠΌΠ΅Ρ€; } функция foo (x: T) { return x; } функция foo(x: Π½ΠΈΠ· | число): Π½ΠΈΠ· | число { if (typeof x === число) { return x + 1 } else { return x + "!" }}

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€