К ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ JavaScript Π½Π΅ всСгда достаточно

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΉΡ‚ΠΈ Π½Π΅ Ρ‚Π°ΠΊ Π² JavaScript ΠΈ Ρ‡Ρ‚ΠΎ провСряСтся Π΄ΠΎ запуска.

На этой страницС

JavaScript Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅Ρ‚ строки, числа ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Но имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ само ΠΏΠΎ сСбС Π½Π΅ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΎ Π·Π° ΠΎΠ΄Π½ΠΈΠΌ Π²ΠΈΠ΄ΠΎΠΌ: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, функция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строку Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π°Π²Ρ‚ΠΎΡ€ ΠΎΠΆΠΈΠ΄Π°Π» число, ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π½Π΅ΠΉ.

main.js
function add(a, b) {
  return a + b;
}
 
console.log(add(10, 5)); // 15
console.log(add(10, "5")); // "105"

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ оказался строкой, поэтому + склСил значСния. Код синтаксичСски допустим, Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΄ΠΎ запуска

Π’ TypeScript ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ значСния ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ функция:

main.ts
function add(a: number, b: number): number {
  return a + b;
}
 
add(10, 5);
add(10, "5"); // Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρ‚ΠΈΠΏΠ°.

TypeScript сообщаСт, Ρ‡Ρ‚ΠΎ строку нСльзя ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π°, Π³Π΄Π΅ оТидаСтся число. Вакая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° называСтся статичСской: инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΅Ρ‘ Π΄ΠΎ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΈ этом TypeScript Π½Π΅ замСняСт JavaScript: ΠΏΠ΅Ρ€Π΅Π΄ запуском ΠΊΠΎΠ΄ TypeScript ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π² JavaScript.

Π§Ρ‚ΠΎ TypeScript Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚

Π’ΠΈΠΏΡ‹ TypeScript Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ Π² Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠ»ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΈΠ· сСти. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ эта информация ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… ΡƒΠΆΠ΅ Π½Π΅ слуТит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π° внСшнСй Π³Ρ€Π°Π½ΠΈΡ†Π΅ Π½ΡƒΠΆΠ½Ρ‹ настоящиС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ограничСния HTML для простых ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ»ΠΈ схСма Zod Π½Π° сСрвСрС.

TypeScript Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΎΠ±Π΅Ρ‰Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ содСрТит ошибок. Он ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ нСсоотвСтствия Ρ‚ΠΈΠΏΠΎΠ², Π½ΠΎ Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈ написана бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ°.

ΠŸΡ€ΠΎ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ с мСдицинским Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΠΎΠΌ

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ Π»ΡƒΡ‡Π΅Π²ΠΎΠΉ Ρ‚Π΅Ρ€Π°ΠΏΠΈΠΈ Therac-25. Π’ расслСдовании Нэнси ЛСвСсон ΠΈ ΠšΠ»Π°Ρ€ΠΊΠ° Π’Ρ‘Ρ€Π½Π΅Ρ€Π° описаны Π³ΠΎΠ½ΠΊΠ° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии, нСдостаточныС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ отсутствиС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. Π­Ρ‚ΠΎ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ошибок Π² ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ бСзопасности, Π½ΠΎ Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ Π΅Π³ΠΎ просто Β«Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ объявлСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉΒ». TypeScript ΠΌΠΎΠ³ Π±Ρ‹ ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ошибки Ρ‚ΠΈΠΏΠΎΠ², Π½ΠΎ сам ΠΏΠΎ сСбС Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π³ΠΎΠ½ΠΊΠΈ, ошибки Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ. Π Π°Π·Π±ΠΎΡ€ Therac-25, IEEE Computer

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π²ΠΎΠ΄Π½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»: TypeScript для программистов Π½Π° JavaScript.

Если ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ сначала ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ, Π² исходных ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ… курса Π΅ΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ TypeScript ΠΈ ΠΎΠ±Π·ΠΎΡ€Π½Ρ‹ΠΉ курс 2025 Π³ΠΎΠ΄Π°. Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ, Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ особСнности свСряйтС с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ.