Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: type, primitive, object, data, javascript

Типы данных в JavaScript

Вопрос проверяет знание встроенных типов данных в JavaScript, их особенностей и различий.

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

В JavaScript есть два основных вида типов данных: примитивные и объектные (ссылочные). К примитивным относятся: string, number, bigint, boolean, undefined, null, symbol. Они хранятся непосредственно в переменной и сравниваются по значению. Объектные типы (Object, Array, Function, Date и другие) хранятся по ссылке, и переменная содержит адрес объекта в памяти. Особый тип — typeof null возвращает 'object' (историческая ошибка языка). Понимание типов важно для корректных операций сравнения и избегания ошибок.

Длинный ответ

Типы данных в JavaScript

JavaScript — язык с динамической типизацией. Это означает, что тип переменной определяется во время выполнения и может меняться.

1. Примитивные (примитивные) типы

Примитивы хранят непосредственно значение. При присваивании или передаче в функцию создаётся копия значения.

  • String — строка текста. Пример: let name = 'Alice';
  • Number — число с плавающей запятой (целые и дробные). Пример: let age = 25;
  • BigInt — для очень больших целых чисел. Пример: let big = 9007199254740991n;
  • Boolean — логическое значение true/false.
  • Undefined — переменная объявлена, но значение не присвоено.
  • Null — специальное значение «ничего», «пусто».
  • Symbol — уникальный идентификатор, используется для создания скрытых свойств объектов.

2. Объектные (ссылочные) типы

Всё, что не является примитивом — это объект. Переменная хранит ссылку на объект в памяти.

  • Object — обычный объект: { key: 'value' }
  • Array — массив: [1, 2, 3]
  • Function — функция.
  • Date, RegExp, Error и другие встроенные объекты.

3. Особенности и важные моменты

  • typeof оператор возвращает строку с именем типа, но имеет особенности: typeof null === 'object' (ошибка в языке).
  • Сравнение: примитивы сравниваются по значению, объекты — по ссылке (даже если содержимое одинаковое).
  • Преобразование типов происходит автоматически в разных контекстах (например, конкатенация строк и чисел).

4. Примеры кода

// Примитивы
let a = 5;
let b = a; // Копируется значение
b = 10;
console.log(a); // 5

// Объекты
let obj1 = { x: 1 };
let obj2 = obj1; // Копируется ссылка
obj2.x = 2;
console.log(obj1.x); // 2

// Проверка типа
console.log(typeof 'text'); // 'string'
console.log(typeof 42); // 'number'
console.log(typeof {}); // 'object'
console.log(typeof []); // 'object' (массив — тоже объект)
console.log(Array.isArray([])); // true — правильная проверка массива

Вывод

Понимание различий между примитивными и объектными типами в JavaScript — фундаментально. Оно необходимо для корректной работы с данными, предсказуемого сравнения и эффективного управления памятью. Динамическая типизация даёт гибкость, но требует внимательности от разработчика.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

  • TypeScript

    TypeScript

Ключевые слова

#type

#primitive

#object

#data

#javascript

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию