Returns the values of an object of type T. This is like Object.values except the return type
captures the possible value types of T.
Note that it is the responsibility of the caller to use this wisely -- there are cases where
the runtime set of values returned may be broader than the type checked set at compile time,
so there's potential for this to be abused in ways that are not inherently type safe. For
example, given base class Animal, subclass Fish, and const animal: Animal = new Fish();
then valuesOf(animal) will not type-check the entire set of values of the object animal since
it is actually an instance of type Fish, which has an extended property set.
In general, it should be both convenient and type-safe to use this when enumerating the values
of simple data objects with known properties.
interfacePoint { x: number; y: number; } constpoint: Point = { x:1, y:2 }; constvalues = valuesOf(point); // type of values -> number[] for (constvalueofvalues) { console.log(value); } // 1 // 2
Returns the values of an object of type
T
. This is likeObject.values
except the return type captures the possible value types ofT
.Note that it is the responsibility of the caller to use this wisely -- there are cases where the runtime set of values returned may be broader than the type checked set at compile time, so there's potential for this to be abused in ways that are not inherently type safe. For example, given base class
Animal
, subclassFish
, andconst animal: Animal = new Fish();
thenvaluesOf(animal)
will not type-check the entire set of values of the objectanimal
since it is actually an instance of typeFish
, which has an extended property set.In general, it should be both convenient and type-safe to use this when enumerating the values of simple data objects with known properties.