我遇到了我应该使用的代码问题。我发现了一个我不熟悉的语法,我在搜索文档时遇到了麻烦:
export const Something = class Something {
constructor(someObject = {}) {
this.someObject = {...Something.someObjectDefaultAsStaticMethod,...someThing};
};
// The rest of the class
};
我在理解参数前面的三个点(...)时遇到了问题。和"参数javascript"中的点;是一个糟糕的搜索词。有人可以帮助我,也许可以告诉我这个语法实际上是什么调用,或者直接将我链接到文档?
答案 0 :(得分:5)
这不是ES6,只是在ECMAScript 2018中添加。
它被称为"对象休息/传播属性"并且是Spread Syntax。
的一部分答案 1 :(得分:0)
[...something]
是点差运营商。它实质上允许扩展数组或字符串。您将看到它在React中经常使用,但还有许多其他用例。
MDN在扩展运算符方面有很好的文档: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator
答案 2 :(得分:0)
我不在乎什么......JS中的点是我需要知道的热点来修复我的错误(语法错误:意外令牌)你们不明白现在需要使用哪个版本的nodejs在 nodejs 12,14 上失败并出现错误! nodejs 社区的每个人现在都在使用新功能进行心理自慰,但没有人说如何修复此错误或重写代码
<块引用>编译失败。
<块引用>36 |安装(){
<块引用>37 | const options = { ...this.computedOptions, el: this.$refs.toastuiEditor };
找到了一些解决方案 https://dev.to/brianmcoates/alternative-to-the-spread-operator-10be
JQuery 过去的解决方案
this.settings = $.extend({
showCancel: true,
showConfirm: true,
Message: "",
extraClass: ""
}, options || {} );
这是一些 babel 错误
您缺少对象静止扩展变换: https://babeljs.io/docs/plugins/transform-object-rest-spread/
React JS Error "...rest" Syntax error: Unexpected token
https://github.com/JeffreyWay/laravel-mix/issues/76
https://github.com/JeffreyWay/laravel-mix/issues/76#issuecomment-271920174 __
答案 3 :(得分:-2)
您需要使用babel和transform object rest spread plugin来编译下一代JS。
var people = { name: 'Adam', name: 'John', name: 'Bruce'};
var morePeople = { ...people, name: 'Michael' };
console.log(morePeople); // logs { name: 'Adam', name: 'John', name: 'Bruce', name: 'Michael' }