【问题标题】:Where do return values will be stored with this line of code: " const { value: { name, email, password } } = await ctx.request.body().value; "返回值将使用这行代码存储在哪里:“ const { value: { name, email, password } } = await ctx.request.body().value; ”
【发布时间】:2021-10-15 18:13:28
【问题描述】:

我不明白那些来自ctx.request.body().value 的变量将被存储在哪里?

const { value: { name, email, password } } = await ctx.request.body().value;

为什么我们不只使用下面一行而不是上面一行?

const { name, email, password }  = await ctx.request.body().value;

或者为什么我们不使用const value = await ctx.request.body().value;,然后使用value.namevalue.emailvalue.password

有人可以解释一下这个语法吗?

【问题讨论】:

标签: typescript syntax deno


【解决方案1】:

正如 DemiPixel 在评论中建议的那样,查看对象解构可能有助于弄清楚,基本上你写的语句之间的区别是 ctx.request.body() 的预期值。

在第一种情况下,您假设主体看起来有点像这样: {value: {value: {name: '', email: '', password: ''}},因为您希望使用键 value 解构对象,但您已经从回复中获得了 .value。这可能是它可能无法按预期工作的原因。

第二种情况假设正文如下所示:{value: {name: '', email: '', password: ''},因此如果您解构 ctx.request.body().value,您确实会得到 const { name, email, password }

希望它更清楚一点

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-20
    • 2023-04-09
    • 2018-11-09
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多