Dev Highlights

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

This project is maintained by teniryte

Ограничения типовых параметров

Принципы

Пример

interface Logable {
  log: () => void;
}

function logItems<T extends Logable>(items: T[]): void {
  items.forEach((item) => item.log());
}

class Form<T> {
  constructor(public data: T) {}

  get<K extends keyof T>(key: K): T[K] {
    return this.data[key];
  }
}

Практика