码迷,mamicode.com
首页 > 其他好文 > 详细

never

时间:2020-02-01 19:07:06      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:循环   col   xtend   cti   ror   throw   条件   str   图片   

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

标签:循环   col   xtend   cti   ror   throw   条件   str   图片   

原文地址:https://www.cnblogs.com/yanze/p/12249452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!