Какие примитивные типы доступны в TypeScript?
Подсказки:
- Подумайте о базовых типах данных.
- Рассмотрите неизменяемые типы данных.
Превосходя ожидания:
- примитивные типы
symbol
иbigint
, которые не часто используются новичками, но важны в продвинутых приложениях. - выведение типов, которое может автоматически определить тип примитива, уменьшая необходимость явных аннотаций типов.
- понимание различия между
null
иundefined
может дать более глубокое понимание обработки необязательных значений в TypeScript.
В TypeScript примитивные типы являются самыми базовыми типами данных и являются неизменяемыми (immutable). Они похожи на примитивные типы JavaScript, но включают некоторые дополнительные функции благодаря более строгой типизации (stricter typing) TypeScript. Примитивные типы, доступные в TypeScript, следующие:
-
string: Используется для представления текстовых данных. Строки могут быть заключены в одинарные, двойные кавычки или обратные кавычки для шаблонов строк.
let firstName: string = "John"; let greeting: string = `Hello, ${firstName}!`;
-
number: Представляет как целые, так и числа с плавающей точкой. TypeScript не различает целые и числа с плавающей точкой.
let age: number = 25; let pi: number = 3.14;
-
boolean: Представляет логическое значение и может принимать два значения:
true
илиfalse
.let isActive: boolean = true; let hasPermission: boolean = false;
-
null: Представляет умышленное отсутствие значения объекта. Это одно из двух значений для обработки отсутствия объекта, другое —
undefined
.let emptyValue: null = null;
-
undefined: Указывает, что переменная не была присвоена значение. Это значение по умолчанию для неинициализированных переменных.
let notAssigned: undefined;
-
symbol: Уникальное и неизменяемое примитивное значение, которое часто используется для создания уникальных свойств объектов.
const uniqueKey: symbol = Symbol("key");
-
bigint: Представляет целые числа, большие, чем безопасный предел целых чисел для чисел, который равен
2^53 - 1
. Чтобы создатьbigint
, добавьтеn
в конец целого числа или используйте функциюBigInt
.let largeNumber: bigint = 9007199254740991n; let anotherBigInt = BigInt(123456789012345678901234567890);
Выведение типов (Type Inference): TypeScript может автоматически вывести тип примитива на основе присвоенного ему значения, что снижает необходимость явных аннотаций типов. Эта функция особенно полезна для повышения читаемости кода и уменьшения его объёма.
let inferredString = "This is a string"; // выводится как string
let inferredNumber = 42; // выводится как number
let inferredBoolean = true; // выводится как boolean
Понимание null
и undefined
:
null
используется для представления умышленного отсутствия значения, часто явно присваиваемого переменной для обозначения "нет значения".undefined
означает, что переменная объявлена, но еще не присвоена значение. Это также значение, возвращаемое функциями, если не указано возвращаемое значение.
let value1: null = null;
let value2: undefined;
console.log(value1, value2); // Вывод: null undefined