[英]Optional chaining doesn't work on Node 16.4
我在 VSCode 和 Coderpad 中尝试过这种语法(都使用 Node 版本 16.4)。
let x = {}
x?.something.foo
据我了解,这段代码现在不应该抛出错误,而是返回undefined
。 功能optional chaining
应该在 Node v14+ 中可用,但由于某种原因,它在我的 VSCode 和 Coderpad 中都不起作用。
想为什么?
x
是您希望允许未定义something
属性的现有对象。 因此,正确的语法应该是x.something?.foo
语法x?.something.foo
的意思是:允许对象x
未定义,但如果不是,则返回属性链something.foo
的值。 由于在这种情况下x
已定义,但x.something
未定义,因此您将收到错误消息(除非您使用x?.something?.foo
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.