Мы продолжаем серию публикаций адаптированного и дополненного перевода "Карманной книги по TypeScript
".
Другие части:
Примитивы: string
, number
и boolean
В JS
часто используется 3 примитива: string
, number
и boolean
. Каждый из них имеет соответствующий тип в TS
:
string
представляет строковые значения, например, 'Hello World'
number
предназначен для чисел, например, 42
. JS
не различает целые числа и числа с плавающей точкой (или запятой), поэтому не существует таких типов, как int
или float
— только number
boolean
— предназначен для двух значений: true
и false
Обратите внимание: типы String
, Number
и Boolean
(начинающиеся с большой буквы) являются легальными и ссылаются на специальные встроенные типы, которые, однако, редко используются в коде. Для типов всегда следует использовать string
, number
или boolean
.
Массивы
Для определения типа массива [1, 2, 3]
можно использовать синтаксис number[]
; такой синтаксис подходит для любого типа (например, string[]
— это массив строк и т.д.). Также можно встретить Array<number>
, что означает тоже самое. Такой синтаксис, обычно, используется для определения общих типов или дженериков (generics).
Обратите внимание: [number]
— это другой тип, кортеж (tuple).
any
TS
предоставляет специальный тип any
, который может использоваться для отключения проверки типов:
let obj: any = { x: 0 }
// Ни одна из строк ниже не приведет к возникновению ошибки на этапе компиляции
// Использование `any` отключает проверку типов
// Использование `any` означает, что вы знакомы со средой выполнения кода лучше, чем `TS`
obj.foo()
obj()
obj.bar = 100
obj = 'hello'
const n: number = obj