Что такое TypeScript?
В некотором контексте JavaScript - это язык программирования сценариев, который обычно используется для создания динамических веб-страниц и запускается в браузере или на сервере.
TypeScript - это надмножество JavaScript, которое добавляет в язык необязательную статическую типизацию. Он обратно совместим с JavaScript.
TypeScript имеет тот же синтаксис, что и JS, но он позволяет вам добавлять типы к значениям, писать классы и интерфейсы - это, по сути, оболочка для JS, и перед запуском он транслируется в простой JS.
Почему именно TypeScript?
Читаемость
TypeScript позволяет добавлять статическую типизацию к переменным и параметрам функций. что улучшает читаемость кода.
Взгляните на следующую calculateDimensions
функцию JavaScript - неясно, какой тип аргументов она будет принимать и какой тип вернет:
TypeScript позволяет нам явно указывать типы параметров и возвращаемые типы, что значительно упрощает понимание кода с первого взгляда:
Тип Безопасность
JavaScript имеет динамическую типизацию, то есть вы не указываете типы для переменных - вместо этого типы назначаются динамически на основе значений, присвоенных переменным.
Это означает, что если вы используете переменную не так, как предполагается, для ее типа, вы узнаете об этом только во время выполнения. Например, в приведенном ниже коде я пытаюсь вызвать addNumbers
со строкой 'abc'
, а JS выдает TypeError
.
TypeScript добавляет к коду безопасность типов, поэтому ошибки такого типа перехватываются во время транспиляции, что означает меньшее количество ошибок времени выполнения. Итак, с тем же кодом, что и выше, если я укажу, что numbers
должен быть массивом numbers
(numbers: number[]
), я обнаружу, что существует проблема, пока мой код переносится - Argument of type 'string' is not assignable to parameter of type 'number[]'
.
Лучшие инструменты
Использование TypeScript дает преимущества множества инструментов разработки. Многие IDE поставляются с такими инструментами, как проверка статического типа и автоматические исправления. Вот некоторые IDE с хорошей поддержкой:
- VSCode: https://code.visualstudio.com/docs/typescript/typescript-tutorial
- Атом: https://atom.io/ (есть инструмент линтер-цлинт)
- WebStorm: https://www.jetbrains.com/help/webstorm/typescript-support.html
Некоторые основы
В этом разделе будут подробно описаны некоторые из основных функций, которые позволяет вам иметь TypeScript - аннотации типов, определяющие ваши собственные типы.
Аннотации типов
Мы можем указать тип переменной, используя синтаксис : Type
. Разрешены все примитивные типы данных JavaScript - number
, string
, boolean
, null
и undefined
. Вот пример:
Аннотации типов могут существовать в свойствах класса, переменных или параметрах функции:
Определите свои собственные типы
TypeScript также позволяет вам определять свой собственный Type. В этом примере мы определяем тип Point
и объявляем переменную point
из этого нового типа.
Расширенные типы
Помимо базовых типов, TypeScript предлагает широкий спектр более сложных функций, включая:
- Типы Пересечение и Объединение
- Введите Guards, используя
instanceof
илиtypeof
. - Условные типы
Я не буду вдаваться в подробности в этом блоге, но вы можете прочитать о них здесь: https://www.typescriptlang.org/docs/handbook/advanced-types.html
Как я могу это использовать?
TypeScript можно установить с помощью диспетчера пакетов NPM:
npm install -g typescript
Затем вы можете написать TypeScript, создав плитку с расширением .ts
и используя команду tsc
для преобразования кода в JavaScript.
// Write your code in a .ts file vim hello.ts // Transpile the file tsc hello.ts // This creates a new file called hello.js
Ссылки
- Ознакомьтесь с документацией TypeScript: https://www.typescriptlang.org/docs/home.html
- Диспетчер пакетов узла: https://www.npmjs.com/
Надеюсь, это помогло!