1
Я хотел бы условно добавить свойство к объекту (или, может быть, я имею в виду класс - я не уверен в фактической семантике в TypeScript).Условно добавление свойства в 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;
}
};
"или, может быть, я имею в виду класс". Какая у вас цель? Класс и объект - это те же понятия, что и в других языках на основе классов. Вы действительно хотите иметь условную логику при построении определения класса? – Alex
«Вы действительно хотите иметь условную логику при построении определения класса?» Да. Я исхожу из JavaScript (я с ним довольно опыт). Я являюсь новичком с TypeScript. – Ben
Я вполне уверен, что это невозможно, но не могли бы вы рассказать о своем прецеденте? Я не совсем уверен, что вы на самом деле ищете что-то вроде директив препроцессора C# здесь. – Alex