types脚本如何将新属性添加到声明的对象?

时间:2018-04-28 15:05:44

标签: typescript

我创建了一个对象:

countryDetails:Object = {};

当我将属性添加到此对象时,如:

this.countryDetails.countryLongName = details.obj.long_name;
this.countryDetails.countryShortName = details.obj.short_name;

我收到的错误是: Property countryShortName does not exist on type 'Object

我同意,没有关于countryShortName的声明。但是在Typescript中,将这个值或将来的值添加到对象中的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

正如评论中所说,使用数据接口要好得多。

例如:

export interface CountryDetails {
  countryLongName: string;
  countryShortName: string;
  // other properties
}

然后声明您的变量类型

countryDetails: CountryDetails
this.countryDetails.countryLongName = details.obj.long_name;
this.countryDetails.countryShortName = details.obj.short_name;