?.其实和.是差不多的用法

但是.的话,对于调用时,如果主体是undefined之类的,会产生报错

    let obj = {
        name:'123'
    }
    
    console.log(obj.age.name)	报错,因为age是undefined,无法在undefined上读取属性name
    console.log(obj?.age?.name)		undefined这个就很稳健,避免报错
    
    
    //开发中的实际例子
    if(obj.age && obj.age.name){
    	//之所以做这样判断是因为,有时数据obj可能age是undefied,所以要先判断一下age是否存在,不然会引起报错
    }
    
    if(obj?.age?.name){
    	//简直舒服的不行,这种
    }