Ask Your Question

Revision history [back]

click to hide/show revision 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.