js - - - - - 可选链操作符报错?可选链操作符 && lodash

可选链操作符报错?

关于可选链操作符,之前写过一篇文章,【关于可选链操作符(?.)】,如今旧项目又遇到新问题!

究其根本,要么是因为浏览器缓存、版本问题,要么是因为各种依赖的版本不支持es7新语法问题。

那么有没有一个不会出现这种问题的操作方式呢? - - - - 答案就是:Lodash

可选链操作符 & Lodash.get

安装

yarn add lodash

引入lodash

import * as _ from “lodash”;

1. 数据结构存在:

      unknown_parameter: {
        first_floor: {
          second_floor: {
            secret: "he secret is hidden deep"
          }
        }
      }

分别使用两种方式进行获取secret

    console.log("方式1 使用可选链操作符: ", 
    	this.unknown_parameter?.first_floor?.second_floor?.secret || "He has no secrets"  );
    console.log( "方式2 使用lodash.get: ",  
    	_.get(this.unknown_parameter, "first_floor.second_floor.secret") ||  "He has no secrets" );

打印结果如下:
在这里插入图片描述


2. 数据结构不存在:

      unknown_parameter: {
        first_floor: {
          // second_floor: {
          //   secret: "he secret is hidden deep"
          // }
        }
      }

分别使用两种方式进行获取secret

    console.log("方式1 使用可选链操作符: ", 
    	this.unknown_parameter?.first_floor?.second_floor?.secret || "He has no secrets"  );
    console.log( "方式2 使用lodash.get: ",  
    	_.get(this.unknown_parameter, "first_floor.second_floor.secret") ||  "He has no secrets" );

打印结果如下:
在这里插入图片描述

参考文章: JavaScript里如何避免使用可能为null对象的属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值