导读 TypeScript 5.1 发布了首个 Beta 测试版。

主要变化
  • 更智能地检查未定义返回值的函数 (undefined-Returning Functions)
  • 旧代码

    function foo() {
        // no return
    }
    
    // x = undefined
    let x = foo();
    //  fine - we inferred that 'f1' returns 'void'
    function f1() {
        // no returns
    }
    
    //  fine - 'void' doesn't need a return statement
    function f2(): void {
        // no returns
    }
    
    //  fine - 'any' doesn't need a return statement
    function f3(): any {
        // no returns
    }
    
    //  error!
    // A function whose declared type is neither 'void' nor 'any' must return a value.
    function f4(): undefined {
        // no returns
    }

    新代码

    //  Works in TypeScript 5.1!
    function f4(): undefined {
        // no returns
    }
    
    //  Works in TypeScript 5.1!
    takesFunction((): undefined => {
        // no returns
    });
    //  Works in TypeScript 5.1!
    takesFunction(function f() {
        //                 ^ return type is undefined
    
        // no returns
    });
    
    //  Works in TypeScript 5.1!
    takesFunction(function f() {
        //                 ^ return type is undefined
    
        return;
    });
  • Getters 和 Setters 类型之间没有限制
  • JSX 元素和 JSX Tag 类型之间的解耦类型检查
  • 命名空间的 JSX 属性
  • 支持在 Module Resolution 中查询 typeRoots
  • Linked Cursors for JSX Tags
  • 对 @paramJSDoc Tags 自动补全 Snippet
  • 其他优化
  • 破坏性变更
  • 原文来自:https://www.oschina.net/news/237457/typescript-5-1-beta

    本文地址:https://www.linuxprobe.com/tbfb.html编辑:王婷,审核员:清蒸github

    Linux命令大全:https://www.linuxcool.com/

    Linux系统大全:https://www.linuxdown.com/

    红帽认证RHCE考试心得:https://www.rhce.net/