To ensure that the key of a record when extended in Typescript is a string, we can use an index signature on the record type. Here's an example:
interface RecordWithStringKeys {
[key: string]: any;
}
const myRecord: RecordWithStringKeys = {
key1: 'value1',
key2: 'value2'
};
myRecord['key3'] = 'value3'; // Works
myRecord[1234] = 'value4'; // Error
In this example, we define an interface RecordWithStringKeys
that has an index signature using the string type for the key. When we create a constant myRecord
of this type, we can add new keys with string values without any problem.
However, if we try to add a key with a non-string value (such as in myRecord[1234] = 'value4'
), we'll get a TypeScript compile-time error. This helps ensure that our record only has string keys.
Asked: 2022-04-24 11:00:00 +0000
Seen: 14 times
Last updated: May 16 '21