课程名称:2小时极速入门 TypeScript
课程讲师:阿莱克斯刘
课程内容:
今天课程学习的主要知识点内容包括:
1、枚举类型 Enum;
2、any 和 unknow 类型;
课程收获:
通过学习老师的视频课程和同学的公开笔记,主要收获如下:
1、枚举类型 Enum
JavaScript 中并没有真正的枚举类型(只保留了关键字),TypeScript 实现了枚举类型的支持;
代码举例:
// 枚举类型 Enum
enum Color {
red,
green,
blue
}
let color = Color.blue
console.log(color) // 输出 2, 对应枚举中 blue 的定义顺序(0,1,2 - 默认类型数据是数字)
// 通过自定义改变枚举类型的数据
enum Color2 {
red = 5,
green = 10,
blue = 1
}
enum Color3 {
red = "red",
green = "green",
blue = 1
}
let color3 = Color3.green
console.log(color3) // 此时输出 green
2、any 和 unknow 类型
(1)在不知道应该使用哪种数据类型的时候,可以使用 any 来代替;any 是动态类型,支持和兼容所有类型;any 可以保持灵活性;
代码举例:
// any 的使用例子
let randomValue:any = 666;
randomValue = true;
randomValue = "asdga";
randomValue = {}
randomValue() // 注意:编译不报错,但是运行会报错
randomValue.toUpperCase() // 注意:编译不报错,但是运行会报错
(2)unknow 和 any 相似,但是 unknow 不保证类型,能保证类型安全,当确认变量类型之后才能正常使用;
代码举例:
// unkonwn 的使用例子
let randomValue:unknown = 666;
randomValue = true;
randomValue = "asdga";
randomValue = {}
if(typeof randomValue === 'function'){
randomValue()
}
if(typeof randomValue ==="string"){
randomValue.toUpperCase();
}