TS学习第一节

129 阅读1分钟

 类型声明:

布尔值:let isDone: boolean = false;

数字:let num: number = 1;(0x十六进制、0b二进制、0o八进制)

字符串:let name: string = "nick";

数组:let list: number[] = [1, 2, 3];

          let list: Array<number> = [1, 2, 3];

元组(Tuple):元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。

          let a: [string, number];

          a = ['hello world', 10]; // ok

          a = [10, 'hello world']; //error

枚举:enum类型是对JavaScript标准数据类型的一个补充。

          enum Color {Red, Green, Blue}

          let c: Color = Color.Green;

Any:  let notSure = 4;

          notSure = "nick"; //ok

          notSure = false; //ok

          let list: any[] = [1, 'nick', false];

          list[1] = 100; //ok

Void: 一般用在没有返回值的函数中。

          function warnUser(): Void{

                    console.log("hello world");

          }

Null 和 Undefined:Null和Undefined是所有类型的子类。

Never:表示永远不存在值的类型。一般用于报错。never是任何类型的子类。never类型可以赋值给其他任何类型,但其他类型不可以赋值给never。

Object:object表示非原始类型,也就是畜类number, string,boolean,symbol, null或undefined之外的类型。

类型断言:有两种形式

    1.<>语法

            let someValue: any = "this is a string";

            let strLength: number = (<string>someValue).length;

    2. as语法

            let someValue: any = "this is a string";

            let strLength: number = (someValue as string).length;

两种写法是等价的,但如果是在jsx语法里,只有as语法生效。