这是很是实用,也是在Angular开发中常常要使用的操做符. 而在react于vue中原生并不自带这样的特性.前端
在咱们平常开发中,在访问属性路径的时候.vue
若是由于一些客观缘由致使了路径中出现了 null
,undefined
,再往下取值,整个程序就会直接报错.致使程序不能往下运行.react
举个例子安全
var obj ={
a:1,
b:{ // 有时候,有可能这个属性不存在
c:2,
d:3
}
}
obj.a //正常取值
obj.b //若是这个属性有时候不存在,这样取值的话,也只是取到一个 undefined,并不会报错
obj.b.c //当b属性不存在的时候,在undefined下取值,就绝对会形成程序崩溃
复制代码
安全导航就是要解决以上都问题,咱们只要在不肯定的属性前的 .
改为 ?.
就能够不须要报错了,当没有取到值的时候,会默认为空.spa
{{ obj?.b?.c }}
复制代码
在写模板的时候是否是很方便呢? 简直不能太棒了好伐~code
妈妈不再用担忧后台给的数据很奇怪致使我前端报错了~~~~~开发