/*
Record<Keys, Type>
Keys může být string, number, symbol nebo union těchto typů.
Type může být jakýkoli typ.
Kdy Record využít
Když chcete zajistit, aby objekt měl přesnou strukturu s předem definovanými typy klíčů a hodnot.
Pokud například potřebujete typově bezpečně definovat mapování mezi hodnotami (např. slovníky nebo konfigurace).
*/
const scores: Record<string, number> = {
Alice: 10,
Bob: 20,
Charlie: 30,
};
type Person = 'name' | 'age' | 'email';
const personInfo: Record<Person, string> = {
name: 'Alice',
age: '30',
email: 'alice@example.com',
};
type Task = {
title: string;
completed: boolean;
};
type ProjectTasks = Record<string, Task>;
const projectStatus: ProjectTasks = {
'Task 1': { title: 'Design UI', completed: true },
'Task 2': { title: 'Implement backend', completed: false },
'Task 3': { title: 'Write tests', completed: false },
};