首页 > 解决方案 > 当在打字稿中用作接口时,void 类型似乎覆盖了返回类型

问题描述

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

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

}

接口明确指出 _meth 的返回类型应该是 void 类型,但是类型脚本没有显示类实现的任何错误,而是发生类型推断,我知道 void 是返回“void”的类型,我是打字稿的新手,对此的解释将不胜感激

标签: typescripttypescript-generics

解决方案


我相信这是一件方便的事情,它们在结构上基本上是兼容的。我同意在实现接口的情况下它没有多大意义。

考虑一个采用 Check 接口的函数:

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

如果您无法访问退货,就好像它不存在:)


推荐阅读