Appearance
when to use Record in typescript 
to quote WaterNinja101 from svelte discord:
Object.keysis defined to return astring[]
btw if you're curious why Object.keys(foo) returns string[] instead of keyof foo, it's because of this (ven)
ts
const foo = {
  bar: 12,
  baz: 42
} as { bar: 12 } // okay cast
Object.keys(foo) // not actually keyof typeof foo, since it also contains baztypescript doesn't care where that
string[]came from, so when you iterate over it, it goes "hey, you can't use any string to access a property of this object"
a
Recordtype specifically says "you can use any string to access a property on this object"
example of a record:
ts
type roles = 'tester' | 'developer' | 'manager'
const staffCount: Record<roles, number> = {
	tester: 10,
	developer: 20,
	manager: 1
}source (12ft'd medium article explaining more about the Record keyword)