Tại sao nhà điều hành mạng không thể sử dụng nhiều lần?Sử dụng toán tử spread nhiều lần trong 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 ')'
Tôi mong chờ:
console.log(...(...arr)); // Array [ 1, 2, 3 ]
'... (arr)' công trình. nó giống như '... arr' – madox2
Theo thông số ES6 khi toán tử spread gặp phải một iterator được tạo ra từ một đối tượng spread là kết quả của việc đánh giá biểu thức gán trong ví dụ làm việc của bạn' arr' e.g. '... arr'. Với 'console.log (... (... arr));' bạn đang cố truyền biểu thức phép toán spread + biểu thức gán cho một toán tử spread khác. Xem http://www.ecma-international.org/ecma-262/6.0/#sec-argument-lists – br3w5
Bạn có thể muốn thử 'console.log (... []. Concat (... arr)) '(hoặc bất kỳ hàm' flatten'ing nào khác) – Bergi