Typescript Strong Typing - Specifying Object Value Types
In TypeScript, is it possible to specify allowed values in an Object? E.g. to specify that all keys should have numbers: { 'id': 1, 'attr1': 124, 'attr2': 4356, ... } ? I'
Solution 1:
is it possible to specify allowed values in an Object? E.g. to specify that all keys should have numbers
Yes, this is possible.
In both JavaScript & TypeScript (which is a superset of JS) you can access properties via obj.prop
or obj['prop']
which is what allows the syntax below to work.
// This defines an interface that only allows values to be numbers
interface INumbersOnly {
[key: string]: number;
}
// when using it, it will check that all properties are numbers
var x: INumbersOnly = {
num: 1, // works fine
str: 'x' // will give a type error
};
Post a Comment for "Typescript Strong Typing - Specifying Object Value Types"