TypeScript基础学习:基本类型(二)

    技术2022-07-11  102

    接上章讲到

    枚举

    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;
    Processed: 0.011, SQL: 12