TypeScript入门

基本类型和扩展类型

  1. TypescriptJavascript共享相同的基本类型,但有一些额外的类型。
  • 元组Tuple
  • 枚举enum
  • AnyVoid
  • never

基本类型

// 数字let num: number = 6;let num: number = 0xf00d;// 字符串let name: string = "bob";// 数组,第二种方式是使用数组泛型,Array<元素类型>:let list: number[] = [1, 2, 3];let list: Array<number> = [1, 2, 3];let list: any[] = [1,2,3,'4'];// symbollet s:symbol = Symbol('s');// booleanlet isTrue: boolean = true;// undefinedlet u: undefined = undefined;// nulllet n: null = null;// 定义多种类型let s:string|undefined;

特殊类型

  1. 元组Tuple

    元组作为有组织的数组,需要以正确的顺序预定义数据类型。

    const tuple: [number, string, string] = [24, "Indrek" , "Lasn"];const arr3:[string, number] = ['12',1];
  2. 枚举enum

    enum类型是对JavaScript标准数据类型的一个补充。 像C#等其它语言一样,使用枚举类型可以为一组数值赋予友好的名字。

    enum Flag {    success = 0,    error = 1}let c: Flag = Flag.success; // 0let d: string = Flag[0]; // success
  3. Any

    表示任意类型,慎重使用,用多了就失去使用Ts的意义

    用于类型不明确的情况

  4. Void

    • 在Typescript中,你必须在函数中定义返回类型
    • 我们可以将其返回值定义为void
    • 用void定义的函数不能写return
    function run():void{    console.log('run')}
  5. never

    Never是永远达不到的值

    // 返回never的函数必须存在无法达到的终点function error(message: string): never {    throw new Error(message);}// 推断的返回值类型为neverfunction fail():never {    return error("Something failed");}// 返回never的函数必须存在无法达到的终点function infiniteLoop(): never {    while (true) {    }