Ale*_*xis 4 javascript existential-operator
我有一个很大的 json 对象。我需要访问x = a.b.c.d.e.f.g. 但是b(或c, d, e...) 可以是未定义的。这个数据结构是从其他地方导入的。
有没有一种方法,试图让分配x有null或undefined没有引发错误?
可选链现在是 ECMAScript 规范的一部分,可用于大多数 javascript 客户端(浏览器、node.js 等)
x = a.b?.c?.d?.e?.f?.g
Run Code Online (Sandbox Code Playgroud)
要在访问失败时使用默认值,您可以使用Nullish 合并运算符 (??)
x = a.b?.c?.d?.e?.f?.g ?? 'my default value'
Run Code Online (Sandbox Code Playgroud)
最简单的方法是使用 try catch
try {
x = a.b.c.d.e.f.g
} catch(e) {
x = undefined;
}
Run Code Online (Sandbox Code Playgroud)
有一个叫做optional chaining你可以在这里查看的提案:https : //github.com/tc39/proposal-optional-chaining
x = a.b?.c?.d?.e?.f?.g
Run Code Online (Sandbox Code Playgroud)
如果您使用的是转译器,您将能够使用它,但是它仍处于非常早期的阶段并且可能不被规范所接受
| 归档时间: |
|
| 查看次数: |
3139 次 |
| 最近记录: |