Skip to main content

基础

类型

keyof

问:到底啥是 keyof 呢?

  • 答:这个东西是索引签名,你就把它当做生成键的工具就完事儿了,这个东西可以用于获取某种类型的所有键,并且返回类型是联合类型。

in

问:到底啥是 in 呢?

  • 答:啥是 inin 是映射,可以理解为谁是谁的一部分,咱们经常见到的 for(const a in object) a 就代表着 object 的成员。

extends

问:到底啥是 extends 呢?

  • 答:在泛型的里面使用 extends 来约束泛型。其实这个大哥有两个含义:
  1. 接口继承 class A extends B {}

interface A {
name: string
}

interface B {
age: number
}

interface C extends A,B {
email: string
}

const c: C = {
name: 'ACE',
age: 20,
email: 'xxxx@qq.com'
}

  1. 接口判断,也会应用在高级类型推断中。
interface A {
eat(): void
}

interface B {
drank(): void
}

type C = A extends B ? string : number;

const c: C = 0;

console.log(c)

never

问:never到底是个啥?

  • 答:never 表示永远不存在的、值的类型。

void

问:void又是啥意思呢?

  • 答: void 表示没有任何类型。

interface

ReadonlyArray

  • 只读数组

Equal