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
- 对
@param
JSDoc Tags 自动补全 Snippet - 其他优化
- 破坏性变更
详情查看发布公告。
还没有评论,来说两句吧...