TypeScript で型パラメータを使用したジェネリッククラスの定義サンプルとして、簡単なスタッククラスの実装例です。 TypeScript の配列がスタックの代わりになるので、スタッククラスなど作る必要はありませんが、Generics の使用例ということで。
export class MyStack<T> {
private items: T[] = [];
push(item: T): void {
this.items.push(item);
}
pop(): T | undefined {
return this.items.pop();
}
}
import { MyStack } from './myStack';
const stack = new MyStack<number>();
stack.push(1);
stack.push(2);
stack.push(3);
console.log(stack.pop()); //=> 3
console.log(stack.pop()); //=> 2
console.log(stack.pop()); //=> 1
console.log(stack.pop()); //=> undefined
関連記事
- TypeScript のコーディング規約(ルール/ガイドライン)
- TypeScriptの型: 既存の JavaScript ライブラリに型情報を追加する(.d.ts ファイル)
- TypeScriptサンプル: 文字列内のひらがなとカタカナを変換する (hiraToKana, kanaToHira)
- TypeScriptの型: クラス定数を定義する (static readonly)
- TypeScriptのモジュールのインポートには import を使う
- TypeScriptの型: インタフェースを結合する (交差型: Intersection types)
- TypeScriptの型: クラスに static プロパティを定義する