1 | initial version |
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.