Система типов представляет различные типы значений, поддерживаемые языком. Система типов проверяет достоверность предоставленных значений, прежде чем они будут сохранены или обработаны программой. Это гарантирует, что код ведет себя как ожидалось. Система типов, кроме того, допускает более богатую подсказку по коду и автоматизированную документацию.
TypeScript предоставляет типы данных как часть своей необязательной системы типов. Классификация типов данных приведена ниже.
Любой тип
Любой тип данных является супертипом всех типов в TypeScript. Это обозначает динамический тип. Использование любого типа эквивалентно отказу от проверки типа для переменной.
Встроенные типы
Следующая таблица иллюстрирует все встроенные типы в TypeScript —
Тип данных | Ключевое слово | Описание |
---|---|---|
Число | число | 64-битные значения с плавающей запятой двойной точности. Его можно использовать для представления как целых, так и дробных чисел. |
строка | строка | Представляет последовательность символов Unicode |
логический | логический | Представляет логические значения, истина и ложь |
пустота | недействительным | Используется в типах возвращаемых функций для представления невозвратных функций |
Ноль | ноль | Представляет намеренное отсутствие значения объекта. |
Неопределенный | не определено | Обозначает значение, данное всем неинициализированным переменным |
Примечание. В TypeScript и JavaScript нет целочисленного типа.
Нулевой и неопределенный ─ Они одинаковые?
Нулевой и неопределенный типы данных часто являются источником путаницы. Нулевой и неопределенный нельзя использовать для ссылки на тип данных переменной. Они могут быть назначены только как значения для переменной.
Однако, null и undefined не совпадают . Переменная, инициализированная неопределенным значением, означает, что переменной не присвоено значение или объект, в то время как нулевое значение означает, что для переменной задан объект, значение которого не определено.
Пользовательские типы
Пользовательские типы включают перечисления (перечисления), классы, интерфейсы, массивы и кортежи. Они подробно обсуждаются в последующих главах.