const data = {
foo: [{
x: 1,
bar: [{
y: 1
}]
}]
}
这很好:
type level1Type = typeof data.foo[0]
从更深的元素中提取类型的正确语法是什么,例如
type level2Type = typeof data.foo[0].bar[0]
结果为Parsing error: ';' expected.
答案 0 :(得分:2)
这有效:
type Level2Type = (typeof data)['foo'][0]['bar'][0]
// Level2Type = number
区别在于您要在类型上查找属性,而不是实际值。有关更多详细信息,请参见indexed access operator的Typescript文档。