带三个点(…)的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操作符)最常用的实际用例。以下内容已在中用示例进行了说明
这个答案是否回答了你的问题?这个答案是正确的。但需要澄清的是,数组rest/spread操作符在ES6中,对象在阶段3中。正确,但请注意它不是操作符;这不是表达式语法的一部分。谢谢你的列表!!请参见此,以了解每个编写的用例的清晰示例。@请注意,如果您为您的8个用例中的每一个都编写清晰的代码示例,那就太好了。@stomy我在答案中所附的链接中提供了清晰的代码示例。