13.泛型是什么 有什么作用
泛型:用字符去指代未知类型
作用:保留类型信息提高代码复用 编译时类型检查
14.类型断言
类型断言:告诉解析器当前变量是什么类型
方法1:变量as类型 eg:g as string;
方法2:<类型>变量eg:<string>g
15.any never unknown区别
any可以赋给任何类型 安全性最差
unknown 只能给any赋值 安全性较好
never 不可以赋给任何类型(never 是空集)安全性最好
16.ts类型有什么
1.基本数据类型:string boolean number undefined null symbol bigInt
2.引用数据类型:Object(对象 数组 函数)
3.any 任意类型
4.unknown 未知类型
5.void 表示空类型
6.never 从不反出结果
7.枚举(enum)
8.元组(Tuple)
9.类型别名(type)
10.联合类型(|)
11.交叉类型 (&)
17.数组和元组的区别
数组:所有元素类型相同,长度可变,存储同类型数据列表,允许越界访问,返回 undefined
元组:每个位置可以类型不同,长度固定,存储固定结构的数据对/组合,不允许越界访问,JS返回 undefined
18.this指向
1.全局作用域下的this指向window
2.如果给元素的事件行为绑定函数,那么函数中的this指向当前被绑定的那个元素
3.函数中的this,要看函数执行前有没有. ,有.的话,点前面是谁,this就指向谁如果没有点,指向window
4.自执行函数中的this永远指向window
5.定时器中函数的this指向window
6.构造函数中的this指向当前的实例
7.call、apply、bind可以改变函数的this指向
8.箭头函数中没有this,如果输出this,就会输出箭头函数定义时所在的作用域中的this