欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
相关标签: Ts typescript