?.

?.是尝试访问对象的属性,如果对象的属性不存在,则会返回undefined
但是我打点访问对象的属性,如果对象的属性不存在,它本身就会返回undefined,
那么是不是直接用打点调用就可以了,不需要?.访问
5
收起
正在回答
2回答
同学你好,如果只是“对象.xxx”这种形式,那么直接写“.“就行,不用写“?.”。但是,如果是获取深层属性,比如“对象.xxx.yyy“,如果“对象.xxx”本身就是undefined,那么继续“.yyy”,代码会报错。如果用“对象?.xxx?.yyy“,那么即使对象上没有xxx属性,继续获取yyy属性,代码也不会报错,而是会返回undefined。此时“?.”才会起到容错的作用。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星