HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Поверхностное копирование (clone) и слияние (merge) можно объединить в одну операцию. Это позволяет обновлять объекты в функциональном стиле, другими словами, мы создаем новые объекты на основе старых, вместо их обновления. Подробнее с такими задачами мы познакомимся ближе к концу профессии, когда пойдет речь про фреймворки. Ниже пример такой операции:</p>
1 <p>Поверхностное копирование (clone) и слияние (merge) можно объединить в одну операцию. Это позволяет обновлять объекты в функциональном стиле, другими словами, мы создаем новые объекты на основе старых, вместо их обновления. Подробнее с такими задачами мы познакомимся ближе к концу профессии, когда пойдет речь про фреймворки. Ниже пример такой операции:</p>
2 <p>В современном JavaScript добавили специальный оператор, который позволяет выполнять ту же задачу немного короче и, главное, нагляднее. Он называется<strong>spread оператор</strong>(на русском его так и называют "спред-оператор"). Простое поверхностное копирование с помощью спреда:</p>
2 <p>В современном JavaScript добавили специальный оператор, который позволяет выполнять ту же задачу немного короче и, главное, нагляднее. Он называется<strong>spread оператор</strong>(на русском его так и называют "спред-оператор"). Простое поверхностное копирование с помощью спреда:</p>
3 <p>Spread оператор - это три точки перед именем переменной (или константы), внутри определения объекта. Он раскладывает соответствующий объект внутри нового объекта. С его помощью можно получить только копию, он не может изменять существующие объекты.</p>
3 <p>Spread оператор - это три точки перед именем переменной (или константы), внутри определения объекта. Он раскладывает соответствующий объект внутри нового объекта. С его помощью можно получить только копию, он не может изменять существующие объекты.</p>
4 <p>С помощью spread оператора легко расширять новые объекты дополнительными данными:</p>
4 <p>С помощью spread оператора легко расширять новые объекты дополнительными данными:</p>
5 <p>Всё, что появляется с правой стороны спреда, будет иметь приоритет при слиянии, аналогично тому как работает Object.assign(). В свою очередь всё что слева - имеет более низкий приоритет:</p>
5 <p>Всё, что появляется с правой стороны спреда, будет иметь приоритет при слиянии, аналогично тому как работает Object.assign(). В свою очередь всё что слева - имеет более низкий приоритет:</p>
6 <p>Свойства могут одновременно появляться как слева, так и справа от этого оператора:</p>
6 <p>Свойства могут одновременно появляться как слева, так и справа от этого оператора:</p>
7 <p>Сам спред оператор может использоваться в рамках одного объекта любое количество раз:</p>
7 <p>Сам спред оператор может использоваться в рамках одного объекта любое количество раз:</p>
8 <p>Наконец, можно объединить и новые свойства и несколько спредов вместе:</p>
8 <p>Наконец, можно объединить и новые свойства и несколько спредов вместе:</p>
9  
9