首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >这个JS对象声明语法是什么意思?

这个JS对象声明语法是什么意思?
EN

Stack Overflow用户
提问于 2021-02-26 00:55:43
回答 2查看 47关注 0票数 0

我正在学习一个node.js初学者教程,偶然发现了这段代码:

代码语言:javascript
代码运行次数:0
运行
复制
const respondEcho = (req, res) => {
    const { input = '' } = querystring.parse(
        req.url.split('?').slice(1).join('')
    )
}

这一行的语法

const { input = '' } = querystring.parse()

对我来说有点困惑。它看起来像是一个常量对象集的声明,该常量对象集等于一个返回键值对的方法。然而,我不理解的是花括号中的赋值-如果这是一个对象声明,那么它应该是这样的:

const {input: ''}

The The The

input=''

它似乎是对象上的默认值。有人能解释一下这个语法的意思吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-26 01:00:07

代码语言:js
复制
const { foo = '' } = bar

意味着您正在解构foo属性来自bar并且您正在为它分配一个默认值,以防它是falsy..。

它实际上与执行以下操作相同:

代码语言:javascript
代码运行次数:0
运行
复制
let foo = bar.foo;

if (foo === undefined) {
  foo = '';
}
票数 1
EN

Stack Overflow用户

发布于 2021-02-26 01:02:18

它是一个

解构assignment](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) 在从对象解包的值未定义的情况下使用默认值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66372980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档