joken-前端工程师

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::

报错方式

image

对象可能未定义的处理方式优化

  1. 使用 Optional Chaining: 这是处理对象属性可能为 undefined 的推荐方式,特别是在 TypeScript 中:

    let targetId = arrD.find((i) => i.name === "tom")?.id;
    console.log(targetId, "targetId");
    

    这种方式简洁并且安全地处理了 find 方法可能返回 undefined 的情况。

  2. 断言处理 (Assertion): 如果你确定对象一定存在,可以使用非空断言 (!) 或类型断言:

    let targetId3 = arrD.find((i) => i.name === "tom")!.id;
    console.log(targetId3, "targetId3");
    

    这种方式需要确保 find 方法总是能找到匹配的对象,否则会在运行时抛出异常。

DOM 可能为 undefined 的处理方式优化

对于 DOM 元素引用 domRef,你可以使用以下方式处理可能为 undefined 的情况:

const domRef = ref<Element>();

// 处理方式1: 使用 Optional Chaining
domRef.value?.innerHTML = "sdlvnsdlkjsfds";

// 处理方式2: 使用空值检查
if (domRef.value) {
    domRef.value.innerHTML = "sdlvnsdlkjsfds";
}

使用 Optional Chaining (?.) 是一种更现代和推荐的方式,它能够安全地处理 domRef.value 可能为 undefined 的情况,避免抛出异常。

综上所述,你可以根据具体情况选择合适的处理方式来优化你的代码,保证它既安全又可读。

  • ! 类似于 as any
  • as 具体类型也可以解决这个问题
posted on 2024-07-09 00:11  joken1310  阅读(4)  评论(0编辑  收藏  举报