Play IT

Generic constraints

Интерактивное демо «Generic constraints».

languagesencyclopedia

Generic constraints

T extends HasId — подставьте тип и проверьте constraint

interface HasId { id: number }

function save<T extends HasId>(entity: T): T {
  db.store(entity.id, entity);
  return entity;
}

{ id: number; name: string }

✓ Компилируется

Поле id: number присутствует — constraint выполнен.