У меня есть следующий интерфейс в TypeScript:
interface IX {
a: string,
b: any,
c: AnotherType
}
Объявляю переменную этого типа, и я инициализирую все свойства
let x: IX = {
a: 'abc',
b: null,
c: null
}
Затем я присваиваю им реальные значения в функции init позже
x.a = 'xyz'
x.b = 123
x.c = new AnotherType()
Но мне не нравится указывать кучу нулевых значений по умолчанию для каждого свойства при объявлении объекта, когда они будут просто установлены позже на реальные значения. Могу ли я сообщить интерфейсу по умолчанию свойства, которые я не поставляю в null? Что бы я сделал это:
let x: IX = {
a: 'abc'
}
без получения ошибки компилятора. Сейчас он говорит мне
TS2322: Тип '{}' не присваивается типу 'IX'. Свойство 'b' отсутствует в типе '{}'.