Junior
37
questionbank

Что ты знаешь о примитивах в JavaScript?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

В JavaScript 7 примитивных типов данных:

  • string: Последовательность Unicode-символов. Заключается в одинарные ('...'), двойные ("...") или обратные (\...``) кавычки.

    javascript
  • number: Числа как с плавающей точкой, так и целые.

    javascript
  • bigint: Целые числа произвольной точности. Используется для очень больших чисел, которые не помещаются в стандартный number. Создается добавлением n в конце числа или вызовом функции BigInt().

    javascript
  • boolean: Логическое значение, может быть true или false.

    javascript
  • undefined: Значение, присваиваемое переменной, которой не было явно присвоено значение при объявлении, или для отсутствующего свойства объекта/элемента массива.

    javascript
  • symbol: Уникальный и неизменяемый примитивный тип данных, используемый для идентификаторов свойств объектов, чтобы избежать коллизий имен. Создается с помощью функции Symbol().

    javascript
  • null: Специальное ключевое слово, обозначающее отсутствие какого-либо объекта или явное указание на отсутствие значения. Часто используется для обнуления переменной.

    javascript

Основные характеристики примитивов:

  • Неизменяемость (Immutability): Значение примитивного типа нельзя изменить после создания. Любая операция, которая, как кажется, изменяет примитив (например, конкатенация строк), на самом деле создает новое значение.
  • Копирование по значению: При присваивании одной переменной значения примитивного типа из другой переменной копируется само значение, а не ссылка на него.
  • Сравнение по значению: Примитивы сравниваются по их значению.

В отличие от примитивов, объекты (включая массивы и функции) являются ссылочными типами данных. Они изменяемы, копируются по ссылке и сравниваются по ссылке.

ХарактеристикаПримитивыОбъекты
ИзменяемостьНеизменяемыИзменяемы
КопированиеПо значениюПо ссылке
СравнениеПо значениюПо ссылке
Типыstring, number, bigint, boolean, undefined, symbol, nullobject (включая Array, Function, Date, RegExp и т.д.)