TypeScript — это типизированный надмножество JavaScript, которое позволяет разработчикам писать надежный, типобезопасный код. С TypeScript вы получаете мощную систему типов и надежную семантику скомпилированного языка без головной боли при компиляции. TypeScript — это скомпилированный язык для JavaScript, который можно использовать для написания приложений JavaScript. Это позволяет разработчику писать приложения более безопасным способом, предоставляя возможности статической типизации, которые предотвращают возникновение распространенных ошибок. Однако, поскольку это все еще интерпретируемый язык, его можно использовать и в динамических сценариях.

TypeScript разработан Microsoft, является кроссплатформенным и открытым исходным кодом. Он доступен для Windows, MacOS, Linux, Android, iOS, Chrome, Edge и т. д. Его синтаксис очень близок к стандартному JavaScript, поэтому существующие разработчики JavaScript смогут быстро и без особых проблем освоить TypeScript. Важно отметить, что даже несмотря на то, что TypeScript компилируется в обычный JavaScript, вы все равно можете добавлять собственные расширения файлов, чтобы он работал с другими частями вашей инфраструктуры (например, создавая отдельный процесс сборки).

TypeScript также является расширяемым, что позволяет разработчикам писать собственные определения типов TypeScript. Эти пользовательские типы затем можно использовать в других проектах TypeScript, обеспечивая большую гибкость для разработчиков, которые хотят расширить TypeScript своими собственными настраиваемыми функциями. Например, вы можете создать собственный тип для обработки таких протоколов, как HTTP или Thrift.

Как работает TypeScript?

В то время как JavaScript является интерпретируемым языком, то есть он выполняется во время выполнения, а не компилируется заранее, TypeScript — это язык со статической типизацией, который компилируется в JavaScript. TypeScript является надмножеством JavaScript, что означает, что любой код JavaScript является действительным кодом TypeScript, если он соответствует правилам языка. В дополнение к преимуществам статической типизации (что означает, что вы будете получать предупреждения, если сделаете опечатки в исходном коде), TypeScript также предоставляет такие функции, как объектно-ориентированная ориентация на основе классов, необязательная статическая типизация и дженерики.