我想有条件地向对象添加一个属性(或者我的意思是一个类 - 我不确定TypeScript中的实际语义)。
import IMetadata from './metadata-interface';
export default class MetaData {
[idx: string]: IMetadata;
public 'foo' = {
name: 'foo',
} as IMetadata;
public 'bar' = {
name: 'bar',
} as IMetadata;
};
但是如何有条件地向对象添加条形图?我可以这样做:
export default class MetaData {
[idx: string]: IMetadata;
public 'foo' = {
name: 'foo',
} as IMetadata;
if(condition) {
public 'bar' = {
name: 'bar',
} as IMetadata;
}
};
答案 0 :(得分:3)
使用if
声明:
export default class MetaData {
[idx: string]: IMetadata;
public 'foo' = {
name: 'foo',
} as IMetadata;
public 'bar'?: IMetadata;
constructor(condition: boolean) {
if (condition) {
this.bar = {
name: 'bar',
};
}
}
}