単純なQueue(先入れ先出し)データ構造の実装を考えてみましょう。TypeScript/JavaScriptの単純なものは以下のようになります: コピーclass Queue { private data = []; push(item) { this.data.push(item); } pop() { return this.data.shift(); } } この実装での1つの問題は、キューに何でも追加できることです。また、キューから要素を取り出すと、何が出てくるかわかりません。これを以下に示します。ここでは誰かがstringをキューにプッシュしていますが、実際にはnumbersだけがプッシュされることを想定しています。 コピーclass Queue { private data = []; push(item) { this.data.push(item); } pop() {