這是很是實用,也是在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
媽媽不再用擔憂後臺給的數據很奇怪致使我前端報錯了~~~~~開發