Оператор спреда является одной из функций JavaScript, которую я часто упускаю из виду. На этой неделе я хотел более глубоко взглянуть на синтаксис распространения и написать краткое изложение преимуществ.
Во-первых, и, вероятно, наиболее распространенное использование оператора спреда, мелкого клонирования. Конечно, мы можем получить мелкую копию массива из метода срезов, но синтаксис спреда выглядит немного чище для меня.
let arr1 = [1, 2, 3]; // slice let arr2 = arr1.slice(); // spread let arr3 = [ ...arr1 ]; // arr2 value: [1, 2, 3] // arr3 value: [1, 2, 3]
Мы также можем использовать оператор спреда, чтобы получить мелкую копию объекта.
let obj1 = { v1: 0, v2: 1 }; let obj2 = { ...obj1 }; // obj2 value: { v1: 0, v2: 1 }
Еще одно замечательное использование оператора спреда, массивная конкатенация.
let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; // concat let arr3 = arr1.concat(arr2); // spread let arr4 = [ ...arr1, ...arr2 ]; // arr3 value: [1, 2, 3, 4, 5, 6] // arr4 value: [1, 2, 3, 4, 5, 6]
Вы также можете объединять объекты.
let obj1 = { v1: 0, v2: 1, v3: 2 }; let obj2 = { v2: 10, v3: 20 }; let obj3 = { ...obj1, ...obj2 }; // obj3 value: { v1: 0, v2: 10, v3: 20 }
Также возможно передать несколько аргументов функции или методу, используя оператор спреда.
const add = (a, b) => { return a + b; } let args = [10, 11]; let result = add( ...args ); // result value: 21
Я думаю, что спред синтаксис может помочь улучшить чистоту нашего кода. Если вы знаете какие -либо другие аккуратные трюки или советы, пожалуйста, оставьте комментарий ниже.
Оригинал: “https://dev.to/brandonmweaver/spread-syntax-djk”