Dev Highlights

Доки по разработке

This project is maintained by teniryte

Дженерики на практике

Принципы

Пример

interface Printable {
  print(): void;
}

function printHousesOrCars<T extends Printable>(arr: T[]): void {
  arr.forEach((item) => item.print());
}

class Queue<T> {
  private data: T[] = [];
  push(v: T) {
    this.data.push(v);
  }
  pop(): T | undefined {
    return this.data.shift();
  }
}

Практика