PropertyKey in TypeScript
The PropertyKey
is a global alias type in TypeScript that can be a string
, number
, or symbol
.
It was to be used as a shorthand way to type property key types.
It's available globally by default, so you just need to use the PropertyKey
type in your code.
I've found it particularly useful in situations where I am dynamically updating key/property pairs without explicitly knowing the key name/types beforehand.
Here's an example of how you might use PropertyKey
:
const str: string = "test"; const symb: symbol = Symbol(); const num: number = 123; // We could replace all the previous ones with PropertyKey if we were unsure of their value types. const randomKey: PropertyKey = 404; const obj = { [str]: "✅", [symb]: "✅", [num]: "✅", [randomKey]: "✅", }
Or if we were dynamically creating an object and wanted to have all the keys we could use it with a Record
:
type RecordWithAllKeys = Record< PropertyKey, unknown >;
Follow me on Twitter or connect on LinkedIn.
🚨 Want to make friends and learn from peers? You can join our free web developer community here. 🎉