三元运算符及“??”和“?.”的意义
1、三元运算符:
三元运算符是一种固定的运算格式,语法格式为 “a ? b : c”, 其意义为:a为判断条件,如果a成立,则取b的值,如果a不成立,则取c的值。
其中某些条件下a可以为b或者可以为c。比如a是一个有数值的key值,则可以判断a在有值时取a的值,即“a ? a : c”。
b、c可以为空或null。
2、“??”运算符:(23-07-19应诸位道友强烈吐槽,做一下修改补充)
”??“是一个逻辑操作符(补充:也叫空值合并运算,从C语法引入),语法格式为a ?? b。其意义为:当a为 null 或者 undefined 时,返回a的值,否则返回b的值(补充:原来写反了,应该是当a为 null 或者 undefined 时,返回b的值,否则返回a的值)。
补充:(如下图:这些简单的逻辑,我们可以在浏览器控制台进行简单验证)
3、“?.”运算符:
“ ?. ”允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。“?.” 运算符的功能类似于 . 链式运算符,不同之处在于,在引用为空nullish null 或者 undefined 的情况下不会引起错误,该表达式短路返回值
如果对你有帮助,记得点个赞噢(~~)