我正在学习一个node.js初学者教程,偶然发现了这段代码:
const respondEcho = (req, res) => {
const { input = '' } = querystring.parse(
req.url.split('?').slice(1).join('')
)
}
这一行的语法
const { input = '' } = querystring.parse()
对我来说有点困惑。它看起来像是一个常量对象集的声明,该常量对象集等于一个返回键值对的方法。然而,我不理解的是花括号中的赋值-如果这是一个对象声明,那么它应该是这样的:
const {input: ''}
The The The
input=''
它似乎是对象上的默认值。有人能解释一下这个语法的意思吗?
发布于 2021-02-25 17:00:07
const { foo = '' } = bar
意味着您正在解构foo
属性来自bar
并且您正在为它分配一个默认值,以防它是falsy
..。
它实际上与执行以下操作相同:
let foo = bar.foo;
if (foo === undefined) {
foo = '';
}
发布于 2021-02-25 17:02:18
它是一个
解构assignment](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) 在从对象解包的值未定义的情况下使用默认值。
https://stackoverflow.com/questions/66372980
复制相似问题