为了账号安全,请及时绑定邮箱和手机立即绑定

在 JavaScript 中是否有类似可选链的赋值

在 JavaScript 中是否有类似可选链的赋值

拉莫斯之舞 2023-03-24 14:45:32
当涉及到访问数据时,可选链接是一个强大的特性const options = cache.[server]?.[channel]?.[service]现在在写入数据时我们通常需要做一些事情cache[server] ??=  {} cache[server][channel] ??= {} cache[server][channel][service] = options是否有像可选链接这样的东西可以使这样的分配更轻松(也许在一行中)?就像是 :cache[server]??{}:[channel]??{}:[service]=options在这种情况下,添加{}或[]紧随其后将允许指示如果无效则预期分配的内容。正如@Bergi 所提议的,最接近的方法是这样写:((cache[server] ??= {})[channel] ??= {})[service] = options
查看完整描述

1 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

您可以使用括号来转换

cache[server] ??= {}
cache[server][channel] ??= {}
cache[server][channel][service] = options

变成一个单一的表达

((cache[server] ??= {})[channel] ??= {})[service] = options


查看完整回答
反对 回复 2023-03-24
  • 1 回答
  • 0 关注
  • 87 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信