interface 这种泛型类型的循环对象的key用keyof
比如说:
interface Todo {
title: string
description: string
completed: boolean
}
keyof Todo // 'title' | 'description' | 'completed'
像这种'title' | 'description' | 'completed'
参数传参经常出现
那么要循环这些带或的字段,用
`c` 比如说这个是K
那么循环这个K就用`k in K`
对,没错用 in
type 这种类型的循环对象的key也是用keyof
同 interface
数组类型
const tuple = ['tesla', 'model 3', 'model X', 'model Y'] as const (这种加了 as const就是只读的数组类型)
这种怎么循环呢?用T[number]得出"tesla" | "model 3" | "model X" | "model Y"
这种联合类型,
再根据第二种循环 k in T[number] 就得到这个联合类型的每一个值
给出一个数组 [3, 2, 1]
得到这个数组的长度 就写 T['length']
, 这个一定要加''
得到这个数组的第一个值 就写 T[0]
在ts中,判断数组的长度等不等于0,不能写成 T['length'] == 0 ,只能用extends来表示: T['length'] extends 0