Map stores key-value pairs and keeps lookup code explicit.

Map

map.ts
const lookupKey: string = ;
const lessons: Map<string, number> = new Map<string, number>();

lessons.set("ts", 12);
lessons.set("js", 9);
lessons.set("py", 7);

const count: number | undefined = lessons.get(lookupKey);
const label: string = count === undefined ? "missing" : `${count} lessons`;

console.log(`${lookupKey}=${label}`);
const lookupKey: string = ;
const lessons: Map<string, number> = new Map<string, number>();

lessons.set("ts", 12);
lessons.set("js", 9);
lessons.set("py", 7);

const count: number | undefined = lessons.get(lookupKey);
const label: string = count === undefined ? "missing" : `${count} lessons`;

console.log(`${lookupKey}=${label}`);
const lookupKey: string = ;
const lessons: Map<string, number> = new Map<string, number>();

lessons.set("ts", 12);
lessons.set("js", 9);
lessons.set("py", 7);

const count: number | undefined = lessons.get(lookupKey);
const label: string = count === undefined ? "missing" : `${count} lessons`;

console.log(`${lookupKey}=${label}`);
Map A `Map<K, V>` stores values by keys and returns `undefined` when a key is missing.