Назад к вопросам
Junior
68
questionbank

Что ты знаешь о примитивах в 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 и т.д.)