String or Number Indexes
This lesson discusses the two ways to access an index.
The index signature can define members of an object with an identifier with square brackets.
myObject["memberName"] = "Value Here";
The identifier type can only be a string
or a number
. The identifier is the name between the brackets. In the previous example, it was memberName
. In the following example, we can see an identifier with a string and another with a number;
myObject["String Here"] = {name:"anything"}; // string identifier
myObject[100] = true; // number identifier
Index signatures can be useful if you want to control the type of key for a dynamic assignment as well as the type to be returned.
For example, imagine having a custom map type that allows you to have a string key and return a specific type of object. Having a defined index signature allows for a strongly-typed key (string or number) that can hold an explicit type. In the following example, line 2 defines the type of index signature. The identifier must be a number
while the value, a string
. Line 4 demonstrates how to create a new object with two values with identifier 100
and 200
.
Get hands-on with 1200+ tech skills courses.