javascript - 为什么在声明这个javascript函数时参数中有大括号? ( Node ,model.js 中的 MongoDB)

标签 javascript node.js mongodb

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

function createUser({username, password, name, weight}, f) {};

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

跟进问题:当我尝试在我的机器上编译它时,如何才能不出错?我在这些奇怪的括号中的第一个得到“SyntaxError: Unexpected token {”。

最佳答案

这是一个 ES6 destructuring assignment .

此语法声明了一个带有两个参数的函数。

作为第一个传递的对象的 usernamepasswordnameweight 属性的值参数将通过函数体中的变量 usernamepasswordnameweight 提供。

第二个参数将通过变量 f 可用。

例如:

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

关于javascript - 为什么在声明这个javascript函数时参数中有大括号? ( Node ,model.js 中的 MongoDB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33821678/

相关文章:

javascript - 我的文档何时使用 Mongoose 保存功能保存?

javascript - 不能将时间作为参数传递给函数

javascript - 使用 node.js 从 json 数据中过滤值

javascript - HTML Table Row nth-child 动态内容问题

node.js - app.post的第一个字符串参数有什么作用?

node.js - 如何在我在命令行上设置的端口上永久启动 Node.js 应用程序?

javascript - 在 svg 图表顶部添加 div (D3.js)

javascript - Node.js 的同步拼写检查

php - Mongo groupby 在 Laravel raw 方法中没有使用不同的时间

c# - mongoDB问题