示例代码:
enum ENUM_A {
ONE="ONE",
TWO="TWO",
THREE="THREE",
FOUR="FOUR"
}
interface TYPE_A {
myArray: ENUM_A[],
mySpecificMapping: {
[key in ENUM_A]?: boolean
}
}
const myObject: TYPE_A = {
myArray: [ENUM_A.ONE, ENUM_A.THREE],
mySpecificMapping: {
[ENUM_A.ONE]: true,
// Uncommenting the line below should result in a TypeScript error
// [ENUM_A.TWO]: true,
[ENUM_A.THREE]: true,
// Uncommenting the line below should result in a TypeScript error
// [ENUM_A.FOUR]: true,
}
}
如果"mySpecificMapping"包含"myArray"中不存在的键,myBody应该出错
我想我需要在这里使用自引用类型?