Какие типы данных существуют в JavaScript?

к примитивам относятся Number, String, Boolean, Symbol, BigInt, Undefined, Null объект — составной тип для коллекций и структур данных функция является объектом первого класса оператор typeof различает примитивы и…

Короткий ответ

Что ответить на собеседовании

к примитивам относятся Number, String, Boolean, Symbol, BigInt, Undefined, Null объект — составной тип для коллекций и структур данных функция является объектом первого класса оператор typeof различает примитивы и объекты примитивные значения — неизменяемы, объекты можно изменять BigInt предназначен для представления больших целых чисел Symbol создаёт уникальные неизменяемые идентификаторы практическая роль: тип определяет доступные операции, преобразования и поведение кода во время runtime

Подробный разбор

Ответ с пояснениями

Типы данных JavaScript

  • к примитивам относятся Number, String, Boolean, Symbol, BigInt, Undefined, Null
  • объект — составной тип для коллекций и структур данных
  • функция является объектом первого класса
  • оператор typeof различает примитивы и объекты
  • примитивные значения — неизменяемы, объекты можно изменять
  • BigInt предназначен для представления больших целых чисел
  • Symbol создаёт уникальные неизменяемые идентификаторы
  • практическая роль: тип определяет доступные операции, преобразования и поведение кода во время runtime

Подробный ответ

Основной ответ

В JavaScript предусмотрено 7 основных типов данных. Их принято разделять на примитивные и объектные. Примитив хранит само значение и не изменяется, а объект представляет коллекцию значений либо более сложную структуру.

Основные типы данных:

  1. Undefined — состояние переменной, которой ещё не присвоили значение. При создании переменная изначально содержит undefined.
  2. Null — специальное значение, обозначающее «отсутствие значения» или «пустое значение».
  3. Boolean — логический тип с двумя возможными значениями: true и false.
  4. Number — числовой тип, включающий целые и дробные значения. Начиная с ES6 также доступен BigInt, предназначенный для целых чисел произвольной длины.
  5. String — строковый тип, то есть последовательность символов в UTF-16.
  6. Symbol (начиная с ES6) — уникальный неизменяемый идентификатор.
  7. Object — составной тип для коллекций и сложных структур, включая массивы, функции, объекты, даты и другие сущности.

Ключевые моменты

  • Примитивы: undefined, null, boolean, number, string, symbol, bigint неизменяемы и копируются по значению.
  • Объекты копируются по ссылке; к ним относятся массивы, функции и экземпляры классов.
  • Особенности: выражение typeof null возвращает «object» из-за исторической особенности языка; BigInt появился в ES2020, а символы гарантируют уникальность и применяются в метаданных и ключах объектов.

Практический контекст

Понимание типов необходимо для корректного сравнения: например, === и == по-разному работают с примитивами и объектами. В React 18 и Node.js 18+ BigInt нередко применяют для уникальных идентификаторов. Symbol помогает исключать конфликты при добавлении свойств в глобальные объекты и библиотеки. Представление об объекте как о контейнере важно для хранения и структурирования данных в реальных приложениях.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку