Typescript 实际定义的未定义元素

Typescript 实际定义的未定义元素,typescript,Typescript,我有一个被调用为异步的对象: async setCurrentCompany(Company: CompanyModel){ this.currentCompany = Company; this.teams = Company.teams as Array<TeamDataModel>; console.log(this.currentCompany); console.log(Company.teams); } 当我创建一个console.log(SomeCon

我有一个被调用为异步的对象:

async setCurrentCompany(Company: CompanyModel){
  this.currentCompany = Company;
  this.teams = Company.teams as Array<TeamDataModel>;
  console.log(this.currentCompany);
  console.log(Company.teams);
}

当我创建一个console.log(SomeConst.extraname)或尝试将该值放入另一个常量时,它会抛出未定义的值,但它存在,为什么会出现这种情况?

我认为缺少逗号,请尝试以下操作:

{Name: "HelloWorld",
ExtraNames: [{ Name: "HelloWorld"}]
}

你的名字有点奇怪。在TS/JS中,我们没有
Const
我们有
Const

您应该将代码更改为如下所示

const someConst = {
 name: "HelloWorld",
 extraNames: [{ name: "HelloWorld" }],
};

生成
未定义的
的原因是您已将
someConst
的类型声明为
对象
。如果您像我在上面的示例中所展示的那样删除它,那么TS应该键入推断您有属性
外部名称

,在您提供的代码中有一些语法错误,因此您甚至不应该一开始就走得那么远。你能展示你的实际代码吗?我猜您是在异步设置它,或者存在范围问题或类似问题,因为(如果语法错误已修复)您显示的内容应该可以正常工作。请删除:对象,让typescript为您的对象推断更具体的类型。@LindaPaste我添加了代码,该对象是真实对象的摘要,的确如此large@JohnMontgomery我添加了代码,这个对象是真实对象的一个总结,它是如此之大我更新了更多的细节我更新了更多的细节
const someConst = {
 name: "HelloWorld",
 extraNames: [{ name: "HelloWorld" }],
};