Предположим, у меня есть интерфейс TypeScript в модуле, а также функция, которая возвращает инициализированный объект этого интерфейса:
export default interface Foo {
name: string;
surname: string;
cars: number;
};
export function newFoo(): foo {
return <Foo>{
name: '',
surname: '',
cars: 0
};
};
Проблема в том, что я набираю все поля дважды , и это не только скучно, но и подвержено ошибкам .
Я не могу использовать return <Foo>{};
, потому что есть случаи, когда объекты являются членами других объектов, поэтому у меня будут отсутствовать свойства, и выскочит undefined
.
Я мог бы проверить, существует ли свойство при вызове, но поскольку свойство не имеет ?
, это означает, что оно является обязательным, поэтому оно должно быть там.
Итак, есть ли лучший способ написать код выше?