...
(trzy kropki w Javascript) nazywa się Spread Syntax lub Spread Operator. Umożliwia to rozwinięcie iterowalnego wyrażenia lub ciągu tablicowego lub rozwinięcie wyrażenia obiektowego w dowolnym miejscu. Nie dotyczy to React. Jest to operator Javascript.
Wszystkie te odpowiedzi tutaj są pomocne, ale chcę wymienić najczęściej używane praktyczne przypadki użycia składni spreadu (operator spreadu).
1. Połącz tablice (tablice konkatenacji)
Istnieje wiele sposobów łączenia tablic , ale operator rozkładania pozwala na umieszczenie tego w dowolnym miejscu w tablicy. Jeśli chcesz połączyć dwie tablice i umieścić elementy w dowolnym punkcie tablicy, możesz wykonać następujące czynności:
var arr1 = ['two', 'three'];
var arr2 = ['one', ...arr1, 'four', 'five'];
// arr2 = ["one", "two", "three", "four", "five"]
2. Kopiowanie tablic
Gdy potrzebowaliśmy kopii tablicy, mieliśmy metodę Array.prototypr.slice () . Ale możesz zrobić to samo z operatorem rozprzestrzeniania.
var arr = [1,2,3];
var arr2 = [...arr];
// arr2 = [1,2,3]
3. Wywołanie funkcji bez zastosowania
W ES5, aby przekazać tablicę dwóch liczb do doStuff()
funkcji, często używasz metody Function.prototype.apply () w następujący sposób:
function doStuff (x, y, z) { }
var args = [0, 1, 2];
// Call the function, passing args
doStuff.apply(null, args);
Jednak za pomocą operatora rozkładania można przekazać tablicę do funkcji.
doStuff(...args);
4. Tablice destrukcyjne
Możesz użyć restrukturyzacji i operatora reszty razem, aby wyodrębnić informacje do zmiennych, tak jak chcesz:
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
console.log(x); // 1
console.log(y); // 2
console.log(z); // { a: 3, b: 4 }
5. Argumenty funkcji jako parametry spoczynkowe
ES6 ma również trzy kropki (...), które są parametrem rest, który gromadzi wszystkie pozostałe argumenty funkcji w tablicy.
function f(a, b, ...args) {
console.log(args);
}
f(1,2,3,4,5);
// [ 3, 4, 5 ]
6. Korzystanie z funkcji matematycznych
Każda funkcja, w której jako argument używany jest rozkład, może być używana przez funkcje, które mogą przyjmować dowolną liczbę argumentów.
let numbers = [9, 4, 7, 1];
Math.min(...numbers); // 1
7. Łączenie dwóch obiektów
Za pomocą operatora rozkładania można łączyć dwa obiekty. Jest to łatwy i czystszy sposób na zrobienie tego.
var carType = {
model: 'Toyota',
yom: '1995'
};
var carFuel = 'Petrol';
var carData = {
...carType,
carFuel
}
console.log(carData);
// {
// model: 'Toyota',
// yom: '1995',
// carFuel = 'Petrol'
// }
8. Rozdziel ciąg znaków na osobne znaki
Za pomocą operatora rozkładania możesz rozłożyć ciąg znaków na osobne znaki.
let chars = ['A', ...'BC', 'D'];
console.log(chars); // ["A", "B", "C", "D"]
Możesz wymyślić więcej sposobów korzystania z operatora Spread. Wymieniłem tutaj popularne przypadki użycia.