ts中的interface或者type,索引key不能为boolean,如果要校验要怎么处理,如下图和代码

问题

想校验一个对象或者map,但是他的key是boolean

代码

// interface StorySetGuideType {
//   readonly [key: boolean]: number
// }

type StorySetGuideType = {
  readonly [key: boolean]: number
}

const storySetGuideMap: StorySetGuideType = {
  false: 0,
  true: 1
}

图片

image.png

阅读 2.4k
1 个回答

这个应该是你想要的效果

type BooleanLiteral = "false" | "true";

type StorySetGuideType = {
  readonly [key in BooleanLiteral]: number;
};

const storySetGuideMap: StorySetGuideType = {
  false: 0,
  true: 1,
  a: 3 //报错
};
推荐问题