TS 里面的 never 类型 作用

145 阅读1分钟

首先明白两点: 1、定义never是定义函数的类型,可以代表当前函数返回的是抛出的报错如下: function fail(message: string): never { throw new Error(message); } 2、也可以代表这个函数永远不会正常的返回结果,上面函数没有返回值,所以定义为never,那么为什么不定义void呢? 因为定义返回类型为void的函数,调用完以后,会返回到调用方,然后继续执行,而定义never的函数是处理报错的,执行完就直接停止了,不会正常返回,一旦执行了,就没下文了,就这个意思。