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

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

猜你喜欢

转载自blog.csdn.net/qq_41636947/article/details/106250590