手打基础丸 🧆 => 精选基础知识,经过多道工序精心制作而成,口感鲜嫩多汁。一口咬下,香气四溢,加上传统前端风味,令人回味无穷...... 助力食用者厚积薄发,夯实根基进阶上层。
TS中的Function类型?
ts中可以使用function关键字创建有名字的函数和匿名函数
function add(x : number, y : number){
return x+y
}
// 匿名函数
let f = function (x, y){return x + y}
// 允许通过接口来定义函数类型
interface f{
(x: number, y:number): number
}
let add : f = (x: number, y: number) => x+y;
TS中的any类型?
当不确定某个变量的具体类型或者想跳过类型检查则可以使用any关键字。
let x:any;
使用any类型可以暂时跳过ts的类型检查,但是同样面临着安全问题
TS中unknown和any类型区别?
any可以表示任意类型值,不受类型检查约束
unknown只是表示unknown类型,受类型检查约束也更安全
TS中的泛型?
泛型可以使类型参数化,根据传入的参数来灵活定义类型。
function identity<T>(arg: T): T {
return arg;
}
let output = identity<string>("myString"); // type of output will be 'string'
TS中infer关键字?
可以通过已知类型推导出泛型参数
type numberType<T> = T extends (infer P) ? P : any // 输出类型T的类型
infer只能在extends右边使用