Перейти к основному содержимому

Примитивы JavaScript и TypeScript

TypeScript улучшает JavaScript, добавляя статические типы — типы, которые проверяются до запуска кода.

Самые базовые типы в TypeScript называются примитивами.

Эти типы — строительные блоки для более сложных типов в ваших приложениях.

TypeScript включает все примитивы JavaScript, а также собственные дополнительные возможности работы с типами.

Вот пять примитивных типов, которые вы будете использовать чаще всего.


Boolean

Тип boolean хранит значение истина/ложь.

Используйте его для флагов, переключателей и условий.

Пример

Переменной isActive тип boolean задан явно. У hasPermission аннотации нет, поэтому TypeScript выводит тип boolean из значения false.

Prompt
Покажите примитивный тип boolean двумя способами. Объявите isActive с явной аннотацией boolean и значением true, а hasPermission — со значением false без аннотации, отметив в комментарии, что TypeScript выводит тип boolean. Ничего не выводится.
Вывод: программа на TypeScript и захваченный вывод

Number

Тип number хранит как целые числа, так и десятичные дроби.

TypeScript использует один и тот же тип number для любого числового значения, независимо от того, как оно записано.

Пример

Десятичные, шестнадцатеричные, двоичные, восьмеричные значения и значения с плавающей точкой — все они имеют тип number.

Prompt
Покажите, что TypeScript использует один тип number для любой формы записи числового литерала. Объявите пять переменных типа number: decimal (6), hex (0xf00d), binary (0b1010), octal (0o744) и float (3.14), в каждом комментарии назвав соответствующую систему записи. Ничего не выводится.
Вывод: программа на TypeScript и захваченный вывод

String

Тип string хранит текст.

Строки можно записывать в одинарных кавычках ('), двойных кавычках (") или обратных кавычках (`). Обратные кавычки создают шаблонные строки, в которые можно встраивать значения с помощью ${...}.

Пример

Все три способа записи кавычек дают string. Шаблонная строка в sentence вставляет fullName и результат выражения age + 1.

Prompt
Покажите тип string с двойными кавычками, одинарными кавычками и шаблонной строкой. Объявите color («синий»), fullName ('John Doe'), переменную age типа number (30) и переменную sentence типа string, построенную из шаблонной строки, которая вставляет fullName и age + 1. Ничего не выводится.
Вывод: программа на TypeScript и захваченный вывод

BigInt (ES2020+)

Тип bigint хранит целые числа, большие чем 2^53 - 1, — это самое большое целое число, которое тип number может представить точно.

Пример

BigInt(...) создаёт значение типа bigint, и TypeScript выводит этот тип для hugeNumber.

Prompt
Покажите, как создать значение типа bigint для целых чисел, больших чем 2^53 - 1. Объявите константу hugeNumber, вызвав BigInt(9007199254740991), и позвольте TypeScript вывести её тип. Ничего не выводится.
Вывод: программа на TypeScript и захваченный вывод

Symbol

Тип symbol — это уникальный идентификатор. Два символа никогда не равны друг другу, даже если они созданы с одним и тем же описанием.

Символы полезны для уникальных ключей свойств и констант.

Пример

uniqueKey — это symbol, используемый как вычисляемый ключ свойства в obj. Чтение obj[uniqueKey] выводит сохранённый текст.

Prompt
Покажите тип symbol, используемый как уникальный ключ объекта. Создайте константу uniqueKey типа symbol из Symbol('описание'), постройте объект obj, вычисляемым ключом которого является uniqueKey со значением 'Это уникальное свойство', затем выведите obj[uniqueKey] в консоль.
Вывод: программа на TypeScript и захваченный вывод