Perché l'operatore di diffusione non può essere utilizzato più volte?Utilizzo dell'operatore di diffusione più volte in javascript?
let arr = [[[1, 2, 3]]];
console.log(arr); // Array [ Array[1] ]
console.log(...arr); // Array [ Array[3] ]
console.log(...(...arr));
// SyntaxError: expected '=>' after argument list, got ')'
mi aspetterei:
console.log(...(...arr)); // Array [ 1, 2, 3 ]
'... (arr)' opere. è lo stesso di '... arr' – madox2
Secondo la specifica ES6 quando si incontra l'operatore di spread viene creato un iteratore da un oggetto spread che è il risultato della valutazione dell'espressione di assegnazione che è nell'esempio di lavoro' arr' e.g. '... arr'. Con 'console.log (... (... arr));' stai tentando di passare un operatore di spread + un'espressione di assegnazione come espressione di assegnazione a un altro operatore di spread. Vedi http://www.ecma-international.org/ecma-262/6.0/#sec-argument-lists – br3w5
Si potrebbe voler provare 'console.log (... []. Concat (... arr)) '(o qualsiasi altra funzione di appiattimento) – Bergi