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