可选链操作符

文章讲述了JavaScript中的可选链操作符(?.),用于在访问嵌套对象属性时避免因数据可能为null或undefined引发错误。它在ES11中引入,适用于现代浏览器,但需注意旧版本兼容性问题。
摘要由CSDN通过智能技术生成

前端可选链操作符 “

useEffect(() => {
    if (data?.hash) {
      handleCreateNFTContract(data?.hash);
    }
  }, [data]);

这里data?起了什么作用?

data? 是一个可选链操作符。它用于安全地访问嵌套对象的属性,而不会导致错误。

在你的示例中,data 可能是一个对象,它有一个 hash 属性。但是,data 也可能是 undefined 或 null。如果 data 是 undefined 或 null,则访问 data.hash 会导致错误。

可选链操作符允许你安全地访问嵌套对象的属性,而不会导致错误。如果 data 是 undefined 或 null,则可选链操作符会返回 undefined。

示例

以下是如何使用可选链操作符:

const data = {
  name: 'John Doe',
  age: 30,
  address: {
    street: '123 Main Street',
    city: 'New York',
  },
};

// 安全地访问 data.address.street
const street = data?.address?.street;

// 如果 data 或 data.address 为 undefined 或 null,则 street 将为 undefined
console.log(street); // 输出:123 Main Street

在问题的示例中,data?.hash 检查 data 是否存在且不为 undefined 或 null。如果 data 存在且不为 undefined 或 null,则它会访问 data.hash。否则,它会返回 undefined。

这可以防止在 data 为 undefined 或 null 时出现错误。

注意:

可选链操作符是 ES11 中引入的一个相对较新的特性。它在所有现代浏览器中都受到支持,但它可能不被旧浏览器所支持。 或 undefined 时出现错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值