typescript / intermediate
Snippet
Wörterbuch-Schema-Validierung mit Satisfies und Record-Typen
Der `satisfies`-Operator überprüft, ob ein Objekt einem Typen wie `Record<K, V>` entspricht, ohne spezifische Schlüssel-Inferenzen zu löschen. Dies kombiniert Typsicherheit mit präziser Autovervollständigung.
snippet.ts
typescript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
type MetricCategory = "cpu" | "memory" | "disk";interface MetricData {value: number;unit: string;}const systemMetrics = {cpu: { value: 45.2, unit: "%" },memory: { value: 8192, unit: "MB" },disk: { value: 256, unit: "GB" }} satisfies Record<MetricCategory, MetricData>;const cpuUsage = systemMetrics.cpu.value;
Erklärung
1
type MetricCategory = "cpu" | "memory" | "disk";
Defiert eine Union gültiger Schlüssel für das Wörterbuch.
2
const systemMetrics = { ... } satisfies Record<MetricCategory, MetricData>;
Validiert Schlüssel und Werte gegen das Record-Schema unter Beibehaltung der exakten Schlüsseltypen.
3
const cpuUsage = systemMetrics.cpu.value;
Ermöglicht direkten Zugriff auf Eigenschaften mit vollständiger Typsicherheit und Autovervollständigung.