类型 'object' 上不存在属性;
我进行了如下设置,但当我使用 for...of
循环时,却出现了属性 "country" 不存在于类型 "object" 上的错误。这样循环数组中的每个对象并比较对象属性值的方法正确吗?
let countryProviders: object[];
export function GetAllProviders() {
allProviders = [
{ region: "r 1", country: "US", locale: "en-us", company: "co 1" },
{ region: "r 2", country: "China", locale: "zh-cn", company: "co 2" },
{ region: "r 4", country: "Korea", locale: "ko-kr", company: "co 4" },
{ region: "r 5", country: "Japan", locale: "ja-jp", company: "co 5" }
]
for (let providers of allProviders) {
if (providers.country === "US") { // error here
countryProviders.push(providers);
}
}
}
27
1
您可能也将
allProviders
键入为object[]
。而country
属性在object
上并不存在。如果您不在乎类型,可以将allProviders
和countryProviders
都声明为Array
:如果您确实需要静态类型检查。您可以为结构创建一个接口并使用它: