user_of_toster
@user_of_toster

Как назначить тип, который имплементирует интерфейс?

Есть интерфейс
Interface MyInterface {
    myMethod(): string;
}

let MyInstance;

Далее в коде я хочу указать, что myInstance - это экземпляр класса, который имплементирует MyInterface. Как это можно сделать? Если сделать так:
let myInstance: MyInterface; то все лишние свойства будут выдавать ошибку компиляции, т.к используется литерал объекта, например вот так:
myInstance = {myMethod() {return ''}, a: 3} // property 'a' doesnt exist in MyInterface

Вот такой вариант к сожалению так же не работает:
let myInstance: {} extends MyInterface;
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
MyInterface & { a: number }

Но зачем?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы