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" }],
};