【问题标题】:Typescript access dynamic property with [' '] syntaxTypescript 使用 [' '] 语法访问动态属性
【发布时间】:2017-09-30 03:10:24
【问题描述】:
export class Foo{
 someproperty: string;
}

我试图理解为什么,在尝试访问动态对象属性时,我可以执行以下操作,正如我在此处的答案之一中看到的那样:

let fooObj: foo = someObj['someproperty']; 

但是这样做,我得到一个错误。

let fooObj: foo = someObj.someproperty;

我试图理解,为什么第一种方法适用于访问/分配给动态对象。

错误:

"someproperty does not exist on type"

这里之前问的问题,Angelo R 的回答是我感兴趣的。

question

【问题讨论】:

  • “不起作用”到底是什么意思?你有错误吗?如果是这样,它到底说了什么?
  • “某些属性在类型上不存在”,但在类型上确实存在
  • 这取决于 foo 类型定义。
  • 应该可以,检查你的拼写
  • 在您的问题中添加定义someObj 类型的代码以及如何为其分配值。

标签: javascript typescript


【解决方案1】:

这只是 TypeScript 中的一个约定,为方便起见。如果要访问对象类型签名中未定义的任意属性,可以使用["foo"] 表示法,类型检查器不会尝试强制您访问的实例在它的类型签名。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-04-10
  • 2021-11-27
  • 1970-01-01
  • 2020-10-07
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
  • 2013-10-15
相关资源
最近更新 更多