运算符之可选链操作符

项目中经常会遇到深层次嵌套属性的验证,我们所能做的就是通过&&每层依次验证,这样看起来代码很繁琐,但又不得不这样做。

有一个嵌套多层的对象,例如:
 let obj =  {
    attr: {
        name: '王二小'
    }
 }
获取name的值 
let n_val = obj.attr.name
如果这样直接获取可能会报错,导致程序异常,所以我们需要对 obj 、attr此次验证
即: let n_val = obj && obj.attr && obj.attr.name  

这样做确实能避免一些报错,但看起来代码终归是有些繁琐,于是便找到了简化上述代码的方法,即是可选链操作符,代码如下

let n_val = obj?.attr?.name

这样看起来代码确实简化很多,当然,由于是新特性,还是实验中的功能,会有一些兼容性,具体文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/%E5%8F%AF%E9%80%89%E9%93%BE#Browser_compatibility

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容