类型别名
大约 1 分钟TypescriptTypescript
提示
1.字符串字面量类型
2.数字字面量类型
一、前言
类型别名就是给一种类型其个别的名字,之后只要使用这个类型的地方,都可以用这个名字作为类型代替,但是它只是起了一个名字,并不是创建了一个新类型。
二、具体用法
type TypeString = string;
let str: TypeString;
str = 123; // error Type '123' is not assignable to type 'string'
注意:
- 只能在对象属性应用类型别名自己,不能直接使用
- 类型别名只是为其他类型起了个新名字来引用这个类型,当它接口起别名时,不能使用
extends
和implements
- 什么时候使用别名?
- 当你定义的类型要用于拓展,即使用
implements
来修饰符时,用接口。 - 当无法通过接口,并且需要使用联合类型或元组类型,用类型别名。
- 当你定义的类型要用于拓展,即使用
三、字面量类型
字符串字面量类型:
字符串字面量类型其实就是字符串常量,与字符串不同的是它是具体的值。
type Name = "Zhangsan"; const name1: Name = "test"; // error 不能将类型“"test"”分配给类型“"Lison"” const name2: Name = "Zhangsan";
数字字面量类型:
也是指向具体的值
type Age = 18; interface Info { name: string; age: Age; } const info: Info = { name: "Zhangsan", age: 28 // error 不能将类型“28”分配给类型“18” }