typescript / intermediate
Snippet
Unveränderliche Array-Pipeline-Transformationen mit Readonly-Typen
Die Verwendung von readonly-Modifikatoren für Array-Parameter verhindert die versehentliche Mutation von Eingabedaten während der Verarbeitung. Pipeline-Operationen wie filter und map erzeugen neue Arrays und wahren so die funktionale Unveränderlichkeit und Speicher-Sicherheit.
snippet.ts
typescript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
interface Metric {readonly id: string;readonly value: number;}const rawDataset: readonly Metric[] = [{ id: "m1", value: 42 },{ id: "m2", value: -15 },{ id: "m3", value: 100 }];function processMetrics(data: readonly Metric[]): readonly number[] {return data.filter(metric => metric.value > 0).map(metric => metric.value * 2);}const processedData = processMetrics(rawDataset);
Erklärung
1
readonly id: string;
Stellt sicher, dass einzelne Objekteigenschaften nach der Initialisierung nicht geändert werden können.
2
const rawDataset: readonly Metric[] = [
Deklariert ein schreibgeschütztes Array, das mutierende Methoden wie push oder pop verbietet.
3
function processMetrics(data: readonly Metric[]): readonly number[] {
Akzeptiert einen schreibgeschützten Datensatz und gibt ein neues schreibgeschütztes Array zurück.
4
.filter(metric => metric.value > 0).map(metric => metric.value * 2);
Verkettet nicht-mutierende Array-Methoden für eine saubere Daten-Transformation ohne Quelldaten zu ändern.