Gebruik van associatieve arrays

TypeScript:
Gebruik van associatieve arrays

Hoe te:

Associatieve arrays maken en gebruiken in TypeScript is eenvoudig. Hier is een basishandleiding:

// Een associatieve array verklaren
let user: { [key: string]: string } = {};

// Gegevens toevoegen
user["name"] = "Jane Doe";
user["email"] = "[email protected]";

console.log(user);

Uitvoer:

{ name: 'Jane Doe', email: '[email protected]' }

Over sleutel-waardeparen itereren is ook gemakkelijk:

for (let key in user) {
    console.log(key + ": " + user[key]);
}

Uitvoer:

name: Jane Doe
email: jane@example.com

En als je te maken hebt met een mix van gegevenstypen, komt het type systeem van TypeScript goed van pas:

let mixedTypes: { [key: string]: string | number } = {};
mixedTypes["name"] = "John Doe";
mixedTypes["age"] = 30;

console.log(mixedTypes);

Uitvoer:

{ name: 'John Doe', age: 30 }

Diepgaand

In TypeScript zijn wat we associatieve arrays noemen in wezen objecten. Historisch gezien, in talen zoals PHP, zijn associatieve arrays een fundamenteel type, maar JavaScript (en bij uitbreiding, TypeScript) gebruikt objecten voor dit doel. Deze aanpak is zowel een kracht als een beperking. Objecten bieden een zeer dynamische structuur voor het koppelen van strings aan waarden, maar ze zijn niet bedoeld om te worden gebruikt als ‘arrays’ in de traditionele zin. Bijvoorbeeld, je kunt geen arraymethoden zoals push of pop direct op deze objecten gebruiken.

Voor gevallen waar je geordende collecties van sleutel-waardeparen met array-achtige operaties nodig hebt, biedt TypeScript (en modern JavaScript) het Map object:

let userMap = new Map<string, string>();
userMap.set("name", "Jane Doe");
userMap.set("email", "[email protected]");

userMap.forEach((value, key) => {
    console.log(key + ": " + value);
});

Hoewel het type systeem van TypeScript en ES6-functies zoals Map krachtige alternatieven bieden, is het begrijpen van hoe objecten als associatieve arrays te gebruiken nuttig voor scenario’s waar objectliteratuur efficiënter is of bij het werken met JSON-datastructuren. Het gaat erom het juiste gereedschap voor de klus te kiezen.