这是基础类型,现在的 javascript 也支持对应类型,先不赘述了。
1 | let arr = []; |
typescript 支持参数数组
1 | let arr = []; |
是等价的。
数组还有一个特别的元组类型
[T1, T2, …]:表示具有固定长度和特定顺序的元素类型为 T1, T2, … 的元组。
可以简单理解为,固定顺序的数组,[string, number, type, interface].
object 类型,表示一切非原始类型,除了 null or undefined. 比如 {}, 比如 Date() 往大了说都是 object.
{} or Reacord<k, v>. 表示任意对象类型
type or interface 是自定义类型
1 | function a() {} |
1 | enum a { |
1 | Array<T> |
泛型和type的很多修饰符组合起来有奇效.
any: 任意类型,他会忽略类型检查,就跟 javascript 一样使用,被官方不推荐使用。
unknow: 效果类似,但是更推荐使用, 因为他必须使用额外的类型检查来确定。
举个例子
1 | function c() { |
明白差别了把,他更安全的原因在于,他必须进行一次类型检查。
void 表示方法的返回类型,虽然 typescript 允许下面代码
1 | function a():void {} |
但是实际上不推荐。
never 表示类型通常用于表示不可到达的代码路径,例如抛出异常、死循环或类型推断失败等情况。
基础类型
数组类型
函数类型
复杂类型
其他类型
泛型 T
class
枚举
因为最近要开始写 typescript 做一个简单的复习。