三元运算符
( ?: )又叫条件运算符,接受三个运算数:条件 ? 条件为真时要执行的表达式 : 条件为假时要执行的表达式
<script>var a = truevar b = false// 单个条件a ? console.log(1) : console.log(2); // 1// 多个条件b ? console.log(3) : a ? console.log(4) : console.log(5) // 4
</script>
可选链操作符
( ?. )允许读取位于连接对象链深处的属性的值。
( ?. ) 操作符的功能类似于( . )链式操作符,不同之处在于,在引用为空(null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined,与函数调用一起使用时,如果给定的函数不存在,则返回 undefined
<script>a?.b// 等同于a == null ? undefined : a.ba?.[x]// 等同于a == null ? undefined : a[x]a?.b()// 等同于a == null ? undefined : a.b()a?.()// 等同于a == null ? undefined : a()
</script>
注:本人前端小白 ,如有不对的地方还请多多指教