美文网首页
Typescript 4.3 常用新特性

Typescript 4.3 常用新特性

作者: 前端小白的摸爬滚打 | 来源:发表于2021-12-07 08:52 被阅读0次

override 和 --noImplicitOverride 标志

当一个方法被标记为 override 时,TypeScript 将始终确保基类中存在一个具有相同名称的方法。

class SomeComponent {
  setVisible(value: boolean) {
    // ...
  }
}
class SpecializedComponent extends SomeComponent {
  override show() {
  // ~~~~~~~~
  // Error! This method can't be marked with 'override' because it's not declared in 'SomeComponent'.
  // ...
  }
  // ...
}

TypeScript 4.3 还提供了一个新的 --noImplicitOverride 标志。启用此选项时,除非你显式使用一个 override 关键字,否则重写一个超类中的任何方法将生成错误。

永远 truthy 的 promise 检查

在 strictNullChecks 下,检查一个条件中的一个 Promise 是否“真实”会触发错误。

async function foo(): Promise<boolean> {
  return false;
}
async function bar(): Promise<string> {
  if (foo()) {
    // ~~~~~
    // Error!
    // This condition will always return true since
    // this 'Promise<boolean>' appears to always be defined.
    // Did you forget to use 'await'?
    return "true";
  }
  return "false";
}

static 索引签名

索引签名使我们可以在一个值上设置比一个类型显式声明更多的属性。

class Foo {
  hello = "hello";
  world = 1234;
  // This is an index signature:
  [propName: string]: string | number | undefined;
}
let instance = new Foo();
// Valid assigment
instance["whatever"] = 42;
// Has type 'string | number | undefined'.
let x = instance["something"];

之前,索引签名只能在类的实例侧声明。现在我们可以将索引签名声明为 static。

class Foo {
  static hello = "hello";
  static world = 1234;
  static [propName: string]: string | number | undefined;
}
// Valid.
Foo["whatever"] = 42;
// Has type 'string | number | undefined'
let x = Foo["something"];

相关文章

  • Typescript 4.3 常用新特性

    override 和 --noImplicitOverride 标志 当一个方法被标记为 override 时,T...

  • Typescript 3.7 常用新特性

    写在前面 不是完整的版本新特性,这里只写出了我觉得常用的新特性 可选链式运算符 ?. js 也支持了这个特性 ob...

  • Typescript 3.9 常用新特性

    写在前面 挑重点的讲一讲 在条件语句中检测未调用的函数 在 3.7 的时候引入了检测未调用函数错误提示,3.9 做...

  • Typescript 3.8 常用新特性

    类型限制的导入导出方法 (Type-Only Imports and Export) TypeScript 3.8...

  • Typescript 4.5 常用新特性

    Awaited 类型与 Promise 改进 TypeScript 4.5 引入了一种新的实用程序类型: Awai...

  • Typescript 4.4 常用新特性

    用于 Aliased 条件的控制流分析 在这个例子中,我们检查了 arg 是否是一个 string。TypeScr...

  • Typescript 4.0 常用新特性

    写在前面 并不是所有的新新特性,只是罗列一些重点的 可变元祖类型 元组类型语法中的 spread 现在可以泛型 r...

  • Typescript 4.1 常用新特性

    模版字面量类型 在替代位置有联合类型呢?它会生成可以由每个联合成员表示的所有可能的字符串字面量的集合。 映射类型中...

  • Typescript 4.2 常用新特性

    元组类型中的前导 / 中间剩余元素 每个元组只有一个剩余元素,并且剩余元素后面不能有可选元素。 这些没有后缀的剩余...

  • TypeScript项目引用(project reference

    转发 # TypeScript项目引用(project references) TypeScript新特性之项目引...

网友评论

      本文标题:Typescript 4.3 常用新特性

      本文链接:https://www.haomeiwen.com/subject/dimnxrtx.html