带三个点(…)的Javascript属性

带三个点(…)的Javascript属性,javascript,Javascript,我对应该使用的代码有问题。我发现了一种我不熟悉的语法,在谷歌上搜索文档时遇到困难: export const Something = class Something { constructor(someObject = {}) { this.someObject = {...Something.someObjectDefaultAsStaticMethod,...someThing}; }; // The rest of the class }; 我无法理解参数

我对应该使用的代码有问题。我发现了一种我不熟悉的语法,在谷歌上搜索文档时遇到困难:

export const Something = class Something {
    constructor(someObject = {}) {
        this.someObject = {...Something.someObjectDefaultAsStaticMethod,...someThing};
    };
// The rest of the class
};

我无法理解参数前面的三个点(…)的作用。“参数javascript中的点”是一个糟糕的搜索词。有人能帮我一下吗?也许能告诉我这个语法到底叫什么,或者直接将我链接到文档?

这不是ES6,只是在ECMAScript 2018中才添加的


它被称为“对象静止/扩展属性”,是扩展操作符的一部分。

扩展操作符是
[…something]
。它本质上允许扩展数组或字符串。您将看到它经常在React中使用,但还有许多其他用例

MDN提供了关于spread operator的大量文档:
(Javascript中的三个点)被称为扩展语法扩展运算符。这允许扩展iterable,如数组表达式或字符串,或在任何位置扩展对象表达式

我想列出(Spread操作符)最常用的实际用例。以下内容已在中用示例进行了说明

  • 组合数组(串联数组)
  • 复制数组
  • 不使用Apply调用函数
  • 分解数组
  • 函数参数作为Rest参数
  • 使用数学函数
  • 组合两个对象
  • 将字符串分隔为单独的字符

  • 这个答案是否回答了你的问题?这个答案是正确的。但需要澄清的是,数组rest/spread操作符在ES6中,对象在阶段3中。正确,但请注意它不是操作符;这不是表达式语法的一部分。谢谢你的列表!!请参见此,以了解每个编写的用例的清晰示例。@请注意,如果您为您的8个用例中的每一个都编写清晰的代码示例,那就太好了。@stomy我在答案中所附的链接中提供了清晰的代码示例。