JS新特性:空值合并运算符 可选链

空值合并运算符

控制合并运算符是:

??

用法示例:

var nick=null;
var result=nick??"null nick"//result="null nick"

如果操作符左边是null,undefined,会返回操作符右边的值
否则返回左边的值

可选链

可选链是

?.

用法示例

let person={nick:"jack"};
person?.age//undefined
person?.age?.mounth//undefined
person?.age.mounth//Uncaught TypeError: Cannot read property 'mounth' of undefined

可选链在获取对象的属性时,对于获取不存在的key的key时,不会像原来一样报错~停止,危害到整个程序的运行,而是会返回undefined
对于函数的获取,有独特的写法:

let person={
getName:function(){console.log("jack")}
};
//正确的方法
person.getName?.()//undefined 输出 jack
person.getAge?.()//undefined
//错误的方法
person?.getName()//undefined 输出 jack
person?.getAge()//Uncaught TypeError: person?.getAge is not a function

可以看出,只有将?.加在函数的()前才是正确的使用方式

展开阅读全文
©️2019 CSDN 皮肤主题: 像素格子 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读