ES6传播算子输出

时间:2019-12-16 07:48:29

标签: ecmascript-6

关于扩展操作符,我有一个非常基本的问题。当我们这样做

let numbers = [1,2,3,4];
console.log(...numbers);

在整理列表的同时,输出格式实际上是像“ 1 2 3 4”这样的字符串吗?还是它们仍然是单独的数字列表?

2 个答案:

答案 0 :(得分:1)

扩展语法允许将数组表达式或字符串之类的可迭代对象扩展到期望零个或多个参数(用于函数调用)或元素(用于数组文字)或对象的位置表达式将扩展到期望零个或多个键值对(用于对象文字)的地方。

来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax

在您的示例中,您将拥有

let numbers = [1,2,3,4];
console.log(...numbers);

// This is the same
console.log(1, 2, 3, 4);

您的值作为单独的值散布到数组之外。您也可以使用以下功能:

const numbers = [1, 2];
const add = (a, b) => { return a + b; };
console.log(add(...numbers)); // -> add(1, 2) -> 3

答案 1 :(得分:-1)

const numbers = [1, 2, 3];
const [ firstNumber, ...restOfTheNumbers ] = numbers;
console.log(firstNumber, restOfTheNumbers);   // 1 [ 2, 3 ]