тип void, по — видимому, перезаписывает возвращаемый тип при использовании в качестве интерфейса в typescript

#typescript #typescript-generics

Вопрос:

 interface Check {
name: string;
_meth(): void;
}

class ClassDemo implements Check {
name: string = 'something';
_meth() {
return 'string';
}
 

}

в интерфейсе четко указано, что тип возвращаемого значения _meth должен иметь тип void, но скрипт типа не показывает никаких ошибок для реализации класса ,скорее происходит вывод типа,я знаю, что void-это тип для возврата «void», я новичок в машинописи, объяснение этого было бы очень полезно

Ответ №1:

Я считаю, что это удобно, они в основном конструктивно совместимы. Я согласен, что в случае реализации интерфейса это не имеет такого большого смысла.

Рассмотрим функцию, которая использует интерфейс проверки:

 export function f(check: Check): void
{
    const s = check._meth();
    console.log(s.slice(0,1)); // compile error
}
 

Если вы не можете получить доступ к возврату, это похоже на то, что его не существует 🙂

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

1. о,так это зависит от использования ,если я возвращаю значение,а возвращаемая функция ничему не присваивается, она все равно недействительна, верно, вот так?

2. Независимо от того, назначите вы ему этот тип или нет, он будет недействительным. Пример, который я привел, тоже не очень хорош. журнал принимает любой массив, но суть остается в силе.