for..in
When looking at the Typescript documentation (Typescript: Iterators and Generators), we see that the for..in syntax will iterate over the keys of the object.
for..in returns a list of keys on the object being iterated, whereas for..of returns a list of values of the numeric properties of the object being iterated.
We can use that to our advantage to index into our object and get the strongly typed value:
// Go through each key of the indexed object:
for (const key in indexedObject)
{
// Get the indexed item by the key:
const indexedItem = indexedObject[key];
// Now we have the item.
// Use it...
}
Solution
We can use that to get an elegant solution to the question:
// Go through each key in the bigObject:
for (const key in bigObject)
{
// Get the strongly typed value with this name:
const value = bigObject[key];
// Now we have the the strongly typed value for this key (depending on how bigObject was typed in the first place).
// Do something interesting with the property of bigObject...
}