我有一个来自HTTP get的JSON输出。 然后我从nodejs使用JSON.parse。
输出基本上是这样的:
items: [
snippet: {
foo: "bar",
bar: "foo
}
snippet: {
foo: "bar",
bar: "foo
}
snippet: {
foo: "bar",
bar: "foo
}
]
我的代码是这样的:
foo1 = items[0].snippet.foo
bar1 = items[0].snippet.bar
这个变量声明都工作正常,直到我得到有时可能不存在的变量。
foo4 = items[4].snippet.foo
当然,这里不存在这种情况。我以为我可以简单地做一个 if(foo4 == 'Null'(,然后设置 foo4 = '不存在',这样它以后就不会让我的程序崩溃。但是,当声明此变量本身时,程序崩溃...我怎样才能防止这种情况发生?
在 ES2020 中,有一个很酷的功能称为可选链接和无效合并,因此您可以尝试将它们组合在一起:
foo4 = items[4]?.snippet?.foo ?? 'not existing'
因此,如果items[4]
为 null 或未定义的部分items[4]?.snippet?.foo
则将 undefined 设置为 foo4,然后运算符??
会将默认值添加到变量 foo 4