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.
Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss
Asked: 2022-04-24 11:00:00 +0000
Seen: 14 times
Last updated: May 16 '21
How can one ensure that sub-classes have uniform method parameters in TypeScript?
Can a TypeScript definition for icon names be provided in MaterialCommunityIcons for React Native?
How can TypeScript be used to save a file in an Excel add-in?
What is the Angular Type script NG Zorro event for radio buttons?
What is the process for implementing a Many to Many relationship using NestJs Sequlize and Mysql2?
What is the method for defining a Fixed length Array in TypeScript?
What difficulties are encountered in the installation of react-router-dom using typescript?