Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

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

Вопросы React Frontend Developer


Какие преимущества предоставляет оператор spread по сравнению с альтернативными подходами, такими как метод concat() для массивов или Object.assign() для объектов?

Чем оператор spread (...) отличается от rest параметров?

Чем отличается spread от rest оператора?

Почему spread не делает глубокую копию?

Если передать spread-объект в зависимости useEffect, будет ли эффект триггериться даже при изменении несвязанных полей?

  • Рейтинг:

    3

  • Сложность:

    6

Оператор spread (...) позволяет легко копировать и объединять массивы и объекты с помощью более лаконичного и читаемого синтаксиса. В отличие от метода concat(), который требует явного указания массива для объединения, и Object.assign(), который может затруднить копирование объектов с вложенными структурами, оператор spread делает эти операции интуитивно понятными и менее подверженными ошибкам. Это упрощает написание кода и повышает его читаемость.

Подробнее
  • Рейтинг:

    3

  • Сложность:

    5

Spread оператор "разворачивает" элементы массивов или свойства объектов, а rest параметры "собирают" оставшиеся аргументы в массив или оставшиеся свойства в объект. Spread используется в правой части выражения, rest - в левой, в контексте деструктуризации или параметров функции.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    4

spread используется для раскрытия элементов массива или объекта. rest используется для сбора элементов в массив или объект. Визуально это один и тот же ..., но смысл зависит от места использования. spread чаще применяют при копировании и объединении данных, rest — в параметрах функций и деструктуризации

Подробнее
  • Рейтинг:

    4

  • Сложность:

    3

Оператор spread (...) создаёт поверхностную копию (shallow copy). Это означает, что копируются только свойства верхнего уровня. Если свойство содержит объект, массив или функцию, копируется только ссылка на этот объект, а не сам объект. Поэтому изменения во вложенных структурах будут видны и в оригинале, и в копии. Для глубокого копирования нужно использовать другие методы, например, JSON.parse(JSON.stringify(obj)) или библиотеки типа Lodash.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    5

Да, эффект будет триггериться при каждом рендере, если передать spread-объект в зависимости. Причина в том, что spread-оператор создает новый объект каждый раз при рендере, и React сравнивает зависимости по ссылке. Новый объект всегда имеет новую ссылку, поэтому useEffect будет выполняться при каждом рендере, даже если поля объекта не изменились.
Подробнее