type命令用来定义一个类型的别名。
代码语言:javascript复制type Age = number;
let age: Age = 55;
上面示例中,type命令为number类型定义了一个别名Age。这样就能像使用number一样,使用Age作为类型。
别名可以让类型的名字变得更有意义,也能增加代码的可读性,还可以使复杂类型用起来更方便,便于以后修改变量的类型。
别名不允许重名。
代码语言:javascript复制type Color = "red";
type Color = "blue"; // 报错
上面示例中,同一个别名Color声明了两次,就报错了。
别名的作用域是块级作用域。这意味着,代码块内部定义的别名,影响不到外部。
代码语言:javascript复制type Color = "red";
if (Math.random() < 0.5) {
type Color = "blue";
}
上面示例中,if代码块内部的类型别名Color,跟外部的Color是不一样的。
别名支持使用表达式,也可以在定义一个别名时,使用另一个别名,即别名允许嵌套。
代码语言:javascript复制type World = "world";
type Greeting = `hello ${World}`;
上面示例中,别名Greeting使用了模板字符串,读取另一个别名World。
type命令属于类型相关的代码,编译成 JavaScript 的时候,会被全部删除。
来源: