Что такое оператор распространения в JavaScript?

Оператор распространения — это новое дополнение к набору операторов в JavaScript ES6. Он принимает итерируемый объект (например, массив) и расширяет его на отдельные элементы.

Оператор распространения обычно используется для создания мелких копий объектов JS. Использование этого оператора делает код кратким и улучшает его читаемость.

Синтаксис

Оператор распространения обозначается тремя точками, .

Примеры

Поскольку структура данных массива широко используется, он будет рассмотрен во всех последующих примерах.

1. Копирование массива

В array2 скопированы элементы array1 . Любые изменения, внесенные в array1 , не будут отражены в array2 и наоборот.

Если использовался простой оператор присваивания тогда array2 была бы назначена ссылка на array1 , и изменения, сделанные в одном массиве, отразились бы в другом массиве, что в большинстве случаев нежелательно.

 let array1 =  ['h', 'e', ​​'y']; let array2 = [... array1]; console.log (array2); 

2. Вставка элементов одного массива в другой

Видно, что оператор распространения может использоваться для добавления одного массива после любого элемента второго массива. Другими словами, нет никаких ограничений, что baked_desserts можно добавлять только в начало или конец массива desserts2 .

 let baked_desserts = ['cake',  'cookie', 'donut']; let desserts = ['мороженое', 'flan', 'замороженный йогурт', ... baked_desserts]; console.log (desserts);//Добавление baked_desserts после flanlet desserts2 = ['icecream  ',' флан ', ... baked_desserts,' замороженный йогурт ']; console.log (desserts2); 

3. Массив аргументов

 функция multiply (number1, number2, number3) {console.log (number1 * number2 * number3);} let числа = [1,2,3]; multiply (... числа); 

Вместо того, чтобы передавать каждый элемент, например, numbers [0] , numbers [1] и т. д., операторы распространения позволяют передавать элементы массива как отдельные аргументы.

//Передача элементов массива в качестве аргументов в Math Objectlet numbers = [  1,2,300, -1,0, -100]; c  onsole.log (Math.min (... числа)); 

Объект Math Javascript не принимает в качестве аргумента отдельный массив, но с помощью оператора распространения массив расширяется до числа или аргументов с помощью только одной строки кода.

Оцените статью
nanomode.ru
Добавить комментарий