基础
类型
keyof
问:到底啥是 keyof
呢?
- 答:这个东西是索引签名,你就把它当做生成键的工具就完事儿了,这个东西可以用于获取某种类型的所有键,并且返回类型是联合类型。
in
问:到底啥是 in
呢?
- 答:啥是
in
。in
是映射,可以理解为谁是谁的一部分,咱们经常见到的for(const a in object)
a 就代表着 object 的成员。
extends
问:到底啥是 extends
呢?
- 答:在泛型的里面使用
extends
来约束泛型。其实这个大哥有两个含义:
- 接口继承
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'
}
- 接口判断,也会应用在高级类型推断中。
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
- 只读数组