I have an object like so:
var obj = {
key1: "apple",
key2: true,
key3: 123,
.
.
.
key{n}: ...
}
So obj
can contain any number of named keys, but the values must all be either string, bool, or number.
How do I declare the type of obj
as an interface in TypeScript? Can I declare an associative array (or variadic tuple) of a union type or something similar?
Yes, you can use an index signature:
interface MyType {
[key: string]: string | boolean | number;
}
var obj: MyType = {
key1: "apple",
key2: true,
key3: 123
};