如何从对象中提取类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从对象中提取类型相关的知识,希望对你有一定的参考价值。
我有地图:
const Map = {
key1: 'value1',
key2: 'value2'
}
我想使用上述对象创建类型value1 | value2
。是否可以不重复这些值?
我尝试过type MyType = Map.key1 | Map.key2
,但是会引发以下错误:Cannot find namespace 'Map'
答案
const MyArray = [
{ name: "Alice", age: 15 },
{ name: "Bob", age: 23 },
{ name: "Eve", age: 38 }
];
type T = (typeof MyArray)[number];
const data = {
value: 123,
text: 'text',
subData: {
value: false
}
};
type Data = typeof data;
另一答案
为地图编制索引只会获取值,而不是实际类型。使用此,您可以获取值的类型
const myMap = {
key1: 'value1',
key2: 'value2'
}
type myType = typeof myMap["key1"] | typeof myMap["key1"]
以上是关于如何从对象中提取类型的主要内容,如果未能解决你的问题,请参考以下文章