Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: tuples, records, структуры данных

Что такое записи (records) и кортежи (tuples) в JavaScript? В чем их отличие от обычных объектов?

Этот вопрос проверяет понимание новых структур данных в JavaScript, таких как записи и кортежи, и их отличие от привычных объектов и массивов.

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

Записи (records) и кортежи (tuples) — это новые неизменяемые структуры данных в JavaScript, которые хранят данные в формате объекта и массива соответственно. В отличие от обычных объектов и массивов, записи и кортежи неизменяемы (их нельзя изменить после создания) и сравниваются по значению, а не по ссылке. Это делает их более надёжными и предсказуемыми при работе с данными.

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

Записи и кортежи — это новые структуры данных, предложенные для JavaScript, которые отличаются от традиционных объектов и массивов тем, что они неизменяемы и сравниваются по значению, а не по ссылке.

Записи (records):
Записи похожи на объекты, но неизменяемы. Это означает, что после создания записи её поля нельзя изменить. Это удобно для создания безопасных и предсказуемых данных, которые не могут быть случайно изменены.

let record1 = #{ name: "Alice", age: 30 }; 
let record2 = #{ name: "Alice", age: 30 }; 
console.log(record1 === record2); // true, потому что записи сравниваются по значению

Кортежи (tuples):
Кортежи похожи на массивы, но также неизменяемы. Они могут содержать данные разного типа, но, в отличие от массивов, не могут быть изменены после создания.

let tuple1 = #[1, 2, 3]; 
let tuple2 = #[1, 2, 3]; 
console.log(tuple1 === tuple2); // true, кортежи также сравниваются по значению

Отличия от обычных объектов и массивов:

  • Неизменяемость: Обычные объекты и массивы можно изменять, а записи и кортежи — нет. Это делает их надёжнее для хранения постоянных данных.

  • Сравнение по значению: Обычные объекты и массивы сравниваются по ссылке, что может приводить к ошибкам при работе с одинаковыми данными, которые находятся в разных местах памяти. Записи и кортежи, напротив, сравниваются по значению, что делает сравнение проще и предсказуемее.

Эти структуры могут быть полезны в ситуациях, когда важна неизменяемость данных, например, при работе с состоянием в приложениях или при передаче данных между функциями.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

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

#tuples

#records

#структуры данных

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