Рубрики
Без рубрики

Распространение синтаксиса

Оператор спреда является одной из функций JavaScript, которую я часто упускаю из виду. На этой неделе я хотел взять … с меткой JavaScript.

Оператор спреда является одной из функций 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”