Что ты знаешь о примитивах в JavaScript?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
В JavaScript 7 примитивных типов данных:
-
string: Последовательность Unicode-символов. Заключается в одинарные (
'...'), двойные ("...") или обратные (\...``) кавычки.// пример строки let name = "Alice"; -
number: Числа как с плавающей точкой, так и целые.
// примеры чисел let age = 30; let price = 19.99; -
bigint: Целые числа произвольной точности. Используется для очень больших чисел, которые не помещаются в стандартный
number. Создается добавлениемnв конце числа или вызовом функцииBigInt().// пример bigint let bigNumber = 123456789012345678901234567890n; -
boolean: Логическое значение, может быть
trueилиfalse.// пример boolean let isActive = true; -
undefined: Значение, присваиваемое переменной, которой не было явно присвоено значение при объявлении, или для отсутствующего свойства объекта/элемента массива.
// пример undefined let userName; // userName будет undefined -
symbol: Уникальный и неизменяемый примитивный тип данных, используемый для идентификаторов свойств объектов, чтобы избежать коллизий имен. Создается с помощью функции
Symbol().// пример symbol const id = Symbol('id'); -
null: Специальное ключевое слово, обозначающее отсутствие какого-либо объекта или явное указание на отсутствие значения. Часто используется для обнуления переменной.
// пример null let data = null;
Основные характеристики примитивов:
- Неизменяемость (Immutability): Значение примитивного типа нельзя изменить после создания. Любая операция, которая, как кажется, изменяет примитив (например, конкатенация строк), на самом деле создает новое значение.
- Копирование по значению: При присваивании одной переменной значения примитивного типа из другой переменной копируется само значение, а не ссылка на него.
- Сравнение по значению: Примитивы сравниваются по их значению.
В отличие от примитивов, объекты (включая массивы и функции) являются ссылочными типами данных. Они изменяемы, копируются по ссылке и сравниваются по ссылке.
| Характеристика | Примитивы | Объекты |
|---|---|---|
| Изменяемость | Неизменяемы | Изменяемы |
| Копирование | По значению | По ссылке |
| Сравнение | По значению | По ссылке |
| Типы | string, number, bigint, boolean, undefined, symbol, null |
object (включая Array, Function, Date, RegExp и т.д.) |