打字稿变量中问号(?)的用途是什么?

Apu*_*hak 9 typescript angular

我见过一个场景,在里面插值问号'?与变量名一起使用。例子 :current?.sample.innerSample

我不确定它是做什么用的。任何帮助深表感谢。

谢谢

Jav*_*SKT 12

?.是一个安全的导航运营商。它可以防止对象路径undefinednull reference错误。例如:

如果你{{ data.somepropertyname }}template文件中写入而没有在文件中定义data成员变量typescript,则会抛出如下错误

无法获得somepropertyname未定义

但是如果你这样写{{data?.somepropertyname}}就不会抛出错误

检查示例Stackblitz

注释和取消注释行号8 & 9,您将在控制台中看到输出