как использовать распространение (...) в Ecma 6? - PullRequest
0 голосов
/ 26 июня 2018

Если кто-то может объяснить мне, как использовать spread, то когда использовать spread с примером, было бы здорово.

1 Ответ

0 голосов
/ 26 июня 2018

spread operator (не путать с rest parameters) действует аналогично apply().

Позволяет вам вызывать функцию, передающую аргументы массива как одно значение.

Взять например:

var myArray = [5, 10, 50];
Math.max(myArray);    // Error: NaN
Math.max.apply(Math, myArray);  

Метод Math.max() не поддерживает массивы; он принимает только цифры. Когда массив передается в функцию Math.max (), он выдает ошибку. Но когда применяется метод apply (), массив отправляется как отдельные числа, поэтому метод Math.max () может его обработать.

С оператором распространения вам больше не нужно использовать метод apply(), и вы можете легко расширить выражение на несколько аргументов:

var myArray = [5, 10, 50];
Math.max(...myArray);    // 50

Легче писать, легче читать.

Какие существуют способы использования спреда (…) в Ecma 6?

Полезно для:

1. Объединение массивов

var arr1 = [1, 2, 3]; var arr2 = [4, 5, 6];

arr1.push (... arr2)

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

Вместо использования slice ()

var arr1 = [1, 2, 3, 4, 5, 6];
var a = arr1.slice();

Вы могли бы:

var a = [...arr1]

3. Вызов функций вместо использования apply()

.. как показано выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...