never
Posted yanze
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了never相关的知识,希望对你有一定的参考价值。
never 永不存在的值得类型,不好理解,以实例为例:
函数
返回never的函数必须存在无法到达的终点,更不好理解,这里并不是指没有返回值
而是指会抛出、返回错误或者无限循环
// 返回never的函数必须存在无法达到的终点 function error(message: string): never { throw new Error(message); } // 推断的返回值类型为never function fail() { return error("Something failed"); } // 返回never的函数必须存在无法达到的终点 function infiniteLoop(): never { while (true) { } }
变量
永不为真的束缚(??)
常见于条件类型
type Exclude<T, U> = T extends U ? never : T; // 相当于: type A = ‘a‘ type A = Exclude<‘x‘ | ‘a‘, ‘x‘ | ‘y‘ | ‘z‘>
也常见于
let x:never = (()=>{ throw new Error(‘exception‘)})();
以上是关于never的主要内容,如果未能解决你的问题,请参考以下文章
Java:Resource leak: 'a' is never closed怎么处理? 代码如下图:
Bugku,never never never give up