声明此javascript函数时,为什么参数中会有大括号?(节点,model.js中的MongoDB)

bpl*_*tle 3 javascript mongodb node.js

我正在查看其他人正在运行的Javascript代码。声明函数时,为什么参数中会有大括号?例如:

function createUser({username, password, name, weight}, f) {};
Run Code Online (Sandbox Code Playgroud)

这只是强制执行和重命名传入对象中的键吗?这在model.js中,所以也许与验证有关?

后续问题:尝试在计算机上进行编译时,如何获得不出错的信息?在这些奇怪的括号的第一个中,我得到“ SyntaxError:Unexpected token {”。

Ori*_*iol 6

这是ES6的销毁任务

此语法声明具有两个参数的函数。

的的值usernamepasswordnameweight作为第一个参数传递的对象的属性将通过变量usernamepasswordnameweight在功能体。

第二个参数将通过变量提供f

例如:

(function ({a,b}, c) {
  return [a,b,c];
})({a:1, b:2, d:"ignored"}, 3); // [1,2,3]
Run Code Online (Sandbox Code Playgroud)