TypeScript基础学习:基本类型(二)
程序员文章站
2022-07-12 15:53:31
...
接上章讲到
枚举
enum类型是对Js标准数据类型的一个补充,能给一个数字赋予名字。
enum Color {Red,Green,Blue,Yello}
let c: Color = Color.Red
如果Color里的每个元素设置了对应的值,但我们不知道他的元素,也是可以通过以下方式取出来的
enum Color {Red = 1, Green, Blue = 3}
let colorNumber: string = Color[2];
Any
我们往往会遇到一些我们不清楚某些遍历属于什么类型,比如说用户输入,或者使用第三方代码库的时候。这时候我们可以直接使用any类型标记这些变量。
let notKnow: any = 7;
notKnow = “I'm a string”
notKonw = false
如果你知道一部分数据类型时,any类型也是有用的,例如一个数组
let list: any[] = [1,true,"str"]
list[1] = 123
Void
在某个程度上讲Void类型与Any相反,他表示没有任何类型,当一个函数没有返回值的时候可以用它
function sayHi(): void {
console.log("hello ,Miss hou");
}
如果你声明一个void类型的变量他只能赋予undefined和null
let num: void = undefined;
Null 和 undefined
Ts默认情况下null 和 undefined 是所有类型的子类型,你可以把 null和undefined赋值给number类型的变量。
当你指定了–strictNullChecks标记,null和undefined只能赋值给void和它们各自。 这能避免 很多常见的问题。 也许在某处你想传入一个 string或null或undefined,你可以使用联合类型string | null | undefined
let thisUndefined: undefined = undefined;
let thisNull: null = null;
Never
never类型表示的是那些永不存在的值的类型。常用于异常
function error(message: string): never {
throw new Error(message);
}
function error() {
return error("Something failed");
}
function error(): never {
while (true) {
}
}
Object
object表示非原始类型
declare function create(o: object | null): void;
上一篇: TypeScript基本类型