В вашем примере вы создаете пустой объект:
const specialtyResponse = {} as IGetAccountBalanceResponse;
Затем вы пытаетесь получить доступ к его свойству:
specialtyResponse.details.lineOfBusiness = "SPec";
details
никогда не создается, поэтомуundefined
.Поэтому вы не можете получить доступ к его свойству lineOfBusiness
.
. Одним из решений будет использование классов, предложенных @undefinedMayNotBeNull.Другой вариант - просто установить specialtyResponse.details
перед доступом к свойствам.
specialtyResponse.details = {} as IGetAccountBalanceDetails;
Вот рабочий пример:
interface IGetAccountBalanceResponse {
details: IGetAccountBalanceDetails;
}
interface IGetAccountBalanceDetails {
lineOfBusiness: string;
balanceAccount: string;
}
const specialtyResponse = {} as IGetAccountBalanceResponse;
specialtyResponse.details = {} as IGetAccountBalanceDetails;
specialtyResponse.details.lineOfBusiness = "SPec";
specialtyResponse.details.balanceAccount = "Test";
Попробуйте его на TypeScript Playground
Обновление
specialtyResponse
может быть опечаткой.Вы имеете в виду specialityResponse
вместо этого?