- 请写出你所知道的TS中的数据类型。
- js中的类型
- String Number Boolean Null Undefined Symbol
- Object Function Array
- ts中的类型
- enum
- generic
- unknown
- never
- any
- void
- tuple
- TS中如何使用类型断言,一般使用在什么场景下,需要注意什么?
开发者清楚数据的类型,但是ts无法理解,可以强制告诉ts编译器,当前数据是什么类型.
场景: 一个变量存在多种类型的可能性,但是实际在传递值的时候可能只有一种.
注意: ts中无法直接把一种类型断言为另外一种类型,中间需要unknown做中转.
- never表示什么,unknown表示什么,分别用在什么场景下。
never: 永远不可能出现值
unknown: 有多种可能性,但是具体哪一种不知道
场景:
never -> 函数中最终的结果是抛出一个错误,这个时候就可以把函数的返回值标注成never
unknown -> 类型断言的时候,需要用unknown做中转
- 现有一个JS项目,你该如何把JS项目升级为TS项目,你有什么想法。
- 将文件的后缀改为ts
- 把ts文件中的dom操作做上断言等一系列排除错误的操作
- 创建同名的类型声明文件
- 在项目中安装typescript
- 安装vue-tsc
- TypeScript在类中支持的类中的修饰符有哪些,分别有什么特点。
- public 公开的,可以在任何位置使用属性
- protected 受保护的, 使用了该修饰符的属性或者方法只能在类本身和子类中使用
- private 私有的, 只能在自身的类中使用
- declare关键字有什么作用?
- 声明js同名的类型文件中定义类型标注
- vue中声明组件
- 请解释一下TS中的枚举。
enum 中的常量在不赋值的情况会自动进行分配值,值从0开始,逐步递增
- TS中装饰器有什么作用。
在不修改源代码的情况下可以进行功能的修改和升级。本质来说是一个语法糖。
- unknown和any有什么区别。
- TS中的泛型有什么作用,请解释。
- 动态类型标注,将标注的类型决定权给使用者。