【问题标题】:What does any[]=[] datatype mean in TypeScript?TypeScript 中的 any[]=[] 数据类型是什么意思?
【发布时间】:2023-03-14 05:30:02
【问题描述】:

我正在一家公司做一个项目,有一个像这样声明的变量

  chainTypeList: any[]=[];

我无法像这样访问它的值。

this.chainTypeList.chainTypeCode;

显示此错误:类型“any[]”上不存在属性“chainTypeCode”。

【问题讨论】:

  • 你为什么认为数组上有一个名为chainTypeCode的属性?
  • 看起来更像Typescript,声明一个任意类型的数组any[],然后赋值一个空数组=[]
  • chainTypeList 是一个可能是链类型的数组。 : any[] 是 TypeScript。最初它是空的,= []

标签: arrays typescript object any


【解决方案1】:

这看起来像是 typescript 的输入。

这意味着这是一个any 值的数组。 initilized 是一个空的。

any 值的字面意思是您可以将任何valuevalue type 推入此数组。

你不能用这个来访问它:

this.chainTypeList.chainTypeCode;

因为它是一个数组而不是一个对象。这就是您收到错误的原因:

类型“any[]”上不存在属性“chainTypeCode”。

应该是这样的:

this.chainTypeList

this.chainTypeList[0]

如果你想要数组的特定位置。您想获得的职位只需change the number

【讨论】:

  • 你可以['t] 使用这个来访问它:
  • 我没有收到评论。对不起。你能重复一遍吗?
  • 你不能用这个访问它:
  • 哦,我现在明白了。谢谢,已修复。
【解决方案2】:

chainTypeList: any[]=[];

它是用 TypeScript 而不是 JavaScript 编写的。如果它是纯 JavaScript,则无法执行此操作。表示变量chainTypeList被声明为数组类型any(可以是任意类型),初始化为空数组。

通过调用

this.chainTypeList.chainTypeCode;

您正在尝试访问对象 chainTypeList 中名为 chainTypeCode 的属性。但是,程序将无法找到这样的属性,因为正如之前声明的那样,该变量是一个空数组。它没有您要查找的属性,因此出现错误

类型“any[]”上不存在属性“chainTypeCode”。

【讨论】:

    【解决方案3】:

    TypeScript 中的 any[]=[] 数据类型是什么意思?

    这不是数据类型。

    any[] 部分是一种数据类型。 = [] 部分称为“分配”。赋值将值绑定到名称,例如在这种情况下,它将值 [](一个空数组)绑定到名称 chainTypeList,这意味着从此时起,取消引用名称 chainTypeList 将评估为一个空数组。

    this.chainTypeList.chainTypeCode;
    

    显示此错误:类型“any[]”上不存在属性“chainTypeCode”。

    Arrays don't have a property called chainTypeCode,所以错误是正确的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-12
      • 1970-01-01
      • 1970-01-01
      • 2016-11-14
      • 2021-11-23
      • 2019-04-02
      • 1970-01-01
      • 2019-02-24
      相关资源
      最近更新 更多