拥抱TypeScript

38次阅读

共计 1075 个字符,预计需要花费 3 分钟才能阅读完成。

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'];

// symbol
let s:symbol = Symbol('s');

// boolean
let isTrue: boolean = true;

// undefined
let u: undefined = undefined;

// null
let 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; // 0
    let 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);
    }
    
    // 推断的返回值类型为 never
    function fail():never {return error("Something failed");
    }
    
    // 返回 never 的函数必须存在无法达到的终点
    function infiniteLoop(): never {while (true) {}

正文完
 0