TS类型体操前置语法

1.取值

对象取值

  1. 类型取值只能使用[ ]形式
  2. 能取联合类型、交叉类型等
interface Person {
  name: string,
  age: number
}

//type nameType = string
type nameType = Person['name']
//type nameAndAgeType = string | number
type nameAndAgeType = Person['name' | 'age']

元祖取值

type tupleType = [number , string]
tupleType[0] // number
tupleType[0|1] // number|string

// 获取元祖的所有类型的组合
tupleType[number] // number|string

2.赋值

// 将A赋值给B
// 变量AB可以在分支语句使用
type Fn<A> = A extends infer B

3.条件语句

// T是boolean的子集
type Fn<T extends boolean> = T

//type res = true
type res = Fn<true>

//type Fn<T> = T 等价于 type Fn<T extends unknow> = T

4.循环遍历

// 递归的方式循环
type Fn<A, B> = Condition extends true ? Fn<C, D> : E
// 遍历数组、元祖
type Loop<List> = List extends [infer First, ...infer Rest] ?
  Loop<Rest> : default
// 遍历对象
// keyof Object返回Object中所有键的联合类型
[T in keyof Object]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值