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.3k
1 个回答

这个应该是你想要的效果

type BooleanLiteral = "false" | "true";

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

const storySetGuideMap: StorySetGuideType = {
  false: 0,
  true: 1,
  a: 3 //报错
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题