То же имя объекта расширение интерфейса машинопись

#typescript

Вопрос:

 export interface example {
  book:{
    first:number;
    second:string;
  }
}

interface table extends example{
  book:{
    third:null
  }
}
 

Можно ли расширить один и тот же объект в типографском тексте ? в некоторых случаях я хочу использовать только пример без третьей книги

Комментарии:

1. Пример без третьей книги — правильный пример. Я не понял, чего ты хочешь?

Ответ №1:

Почему бы просто не сделать third необязательное свойство в example интерфейсе?

 export interface example {
  book:{
    first:number;
    second:string;
    third?: null;
  }
}
 

Если вам действительно нужно расширить example интерфейс, вы должны сделать типы совместимыми, т. Е. расширенному book нужны, по крайней мере, все свойства, которыми обладает базовый интерфейс …

 export interface example {
  book:{
    first:number;
    second:string;
  }
}

interface table extends example{
  book:{
    first: number;
    second: string;
    third:null
  }
}