這篇的重點主要介紹 TypeScript 中的 static 特性及泛形。

首先介紹 static,程式碼如下

class TestStaticClass {
    public static Add(x: number, y: number): number {
        return x + y;
    }

    public static Sub(x: number, y: number): number {
        return x - y;
    }
}

let result1: number = TestStaticClass.Add(1, 3);
let result2: number = TestStaticClass.Sub(4, 1);

接下來是支援泛形的 class:

class TestArrayClass<T>
{
    private array: T[];

    constructor() {
        this.array = [];
    }

    public Add(item: T): void {
        this.array.push(item);
    }

    public Pop(): T {
        return this.array.pop();
    }
}

let arrayTest: TestArrayClass<string> = new TestArrayClass<string>();
arrayTest.Add("aaa3");
let item: string = arrayTest.Pop();

參考資料