【问题标题】:Optional-chaining in AngularAngular 中的可选链
【发布时间】:2022-05-06 23:37:50
【问题描述】:

我在一个对象上使用了可选链接,这反过来又在编译代码后给出了这个错误

例如

const someObj = {pet_animals: {'dog', 'cat'}};
const duplicate = someObj?.wild_animals;

tsconfig 文件

错误信息

【问题讨论】:

  • {pet_animals: {'dog', 'cat'}} 不是有效代码。我怀疑错误来自它,而不是可选链接。
  • 另外,someObj?.wild_animals; 可能无法在 TS 中编译,因为对象上没有 wild_animals 属性。
  • 为了不失败,我们使用可选链对吗?
  • TBH,我不知道它会如何失败 - 对象肯定是在第一行定义的,所以在第二行使用可选链接仅保护对象是 null 或 @987654330 @...永远不会是这样。
  • 好吧,错误消息与 wild_animals 是否存在无关。我无法在工作项目中使用可选链接,而如果我创建新的临时项目并使用相同的数据它可以工作很好,没有任何编译错误

标签: angular typescript package.json optional-chaining


【解决方案1】:

可选链是在 ES2020 freeCodecamp.org 中引入的。如果你使用的是 ES2020 之前的 js 版本,你会得到这个错误。

这可能是你不能使用可选链的原因,

解决方案:

duplicate = someObj.wild_animals ? someObj.wild_animals : undefined 

【讨论】:

    猜你喜欢
    • 2022-01-15
    • 2020-11-13
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    相关资源
    最近更新 更多