gpt4 book ai didi

javascript - 有没有一种优雅的方法来检查对象中是否存在键和值然后使用它?

转载 作者:行者123 更新时间:2023-11-30 08:18:02 25 4
gpt4 key购买 nike

通常使用 redux 和 javascript,我发现自己会输入冗长的代码行以在对象中使用单个值。

const mapStateToProps = (state) => ({
valueIwant: state.data && state.data.user && state.data.user.valueIWant || ''
})

我知道我可以设置默认状态,但在很多情况下 data 对象可能来自 API 调用,或者我可能有大量的 data1 data2data3 等都来自 API,为所有这些都编写默认状态是不可行的。

没有任何简写方法可以做到这一点吗?

最佳答案

将会有,如果您正在使用 Babel 或类似工具(如果您正在使用 React,您可能正在使用),您今天就可以使用它:Optional chaining .

const mapStateToProps = (state) => ({
valueIwant: state.data?.user?.valueIWant || ''
// ^-----^------------------- ***
})

?. 表示如果它前面的值为nullundefined,则表达式到此结束,结果为 未定义

你也可以抛出 nullish coalescing运算符(operator):

const mapStateToProps = (state) => ({
valueIwant: state.data?.user?.valueIWant ?? ''
})

仅在前面的末尾使用 ''nullundefined(不是其他虚假值,如 0'' 等)。

这两个提案都处于第 3 阶段,JavaScript 引擎正在积极添加对它们的支持。 (Chrome 的 V8 引擎目前有可选的链接,但在标志后面。)

关于javascript - 有没有一种优雅的方法来检查对象中是否存在键和值然后使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58713330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com