Ask Your Question
3

How can we ensure that the key of a record when extended in Typescript is a string?

asked 2022-04-24 11:00:00 +0000

djk gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2021-05-16 10:00:00 +0000

nofretete gravatar image

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.

edit flag offensive delete link more

Your Answer

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

Add Answer


Question Tools

Stats

Asked: 2022-04-24 11:00:00 +0000

Seen: 14 times

Last updated: May 16 '21