类型别名和字符串字面量类型
类型别名
类型别名用来给一个类型起一个新的名字。
比如说,我们声明一个字符串变量:
let str:string = '我是ed.'
好,完成了,但是我比较矫情,觉得定义类型的时候 string
比较长,我受不了,打字太多了,我们就可以给 string
这个类型换一个名字:
type s = string // 给类型添加一个别名,使用 type 关键字
这个时候呢,我们再使用 string
声明类型的时候就可以写成 s
了:
let str: s = '我是ed.'
ok,这就是类型别名的内容,这样的话更加的简洁,同时鼠标一上去可以看到,他依旧是 string 类型:
当然如果重新赋值成其他类型,和使用 string 一样,都是会报错的:
所以说,类型别名的性质没有变,只是重新起了个名字而已,用法都是一样的。
总结: 我们使用 type
创建类型别名。类型别名常用于联合类型
。
比如说,为我们有下面一段代码:
let num1: string | number | boolean = '123'
let num2: string | number | boolean = true
我们可以看到哈,两个变量的联合类型是完全一样的,这样写就显得有点麻烦了吧?这时候可以使用类型别名进行重命名:
type all = string | number | boolean // 类型别名
let num1: all = '123'
let num2: all = true
OK,简单好多是不是,修改维护起来也比较方便了。
字符串字面量类型
字符串字面量类型用来约束取值只能是某几个字符串中的一个。
假设哈,爸爸要给孩子起名字,有几个备选的名字:张三丰、张益达、张大炮。取的名字只能从这三个里面选择一个!
这时候我们可以用 type
创建一个字面量类型:
type stringType = '张三丰' | '张益达' | '张大炮'
let name: stringType = "张三丰"
这时候,name 只能从字面量三个字符串中赋值,如果修改成别的值,将会报错:
定义好了字符串字面量类型之后,你只能从中取一个。
【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获取授权并注明出处!
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【Gitee地址】我是𝒆𝒅. :https://gitee.com/wjw1014