Typescript中,有个 class Demo {
name: string,
address: string,
}
const demo: Demo;
现在我想在 demo 对象上 增加一个 sex 属性,例如:
demo.sex = 'M';
VS Code中会提示错误。如何让 demo 能临时增加一个属性而不报错?
方法一:使用类型断言
使用类型断言可以让 TypeScript 暂时忽略类型检查,这样你就可以为对象添加新的属性:
class Demo {
name: string;
address: string;
}
const demo: Demo = { name: "Alice", address: "Wonderland" };
(demo as any).sex = 'M';
方法二:使用索引签名
通过为类添加索引签名,可以允许对象有任意的属性:
class Demo {
name: string;
address: string;
[key: string]: any;
}
const demo: Demo = { name: "Alice", address: "Wonderland" };
demo.sex = 'M';