Generic constraints
Интерактивное демо «Generic constraints».
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;
}Подставить T =
{ id: number; name: string }
✓ КомпилируетсяПоле id: number присутствует — constraint выполнен.