zoukankan      html  css  js  c++  java
  • 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')})();

     

  • 相关阅读:
    说说那些低级错误
    vue双向数据绑定
    妙用$.extend
    写一个限制执行次数的函数
    强类型语言不好的地方,比如这样:
    form表单里的坑
    Java Day 09
    Java Day 08
    Java Day 07
    Java Day 06
  • 原文地址:https://www.cnblogs.com/yanze/p/12249452.html
Copyright © 2011-2022 走看看