typescript 的一个问题

我现在有一个对象是这样的

const Val = {
  v1: 'xxxx',
  et: 'xxxx',
  eq: 'xxxx',
};

然后我有一个函数

function f(type) {}

我希望type参数的值必须是Val对象的属性之一,就是必须是"v1","et","eq"中的一个

我应该要怎么定义呢

阅读 2k
2 个回答
const Val = {
  v1: 'xxxx',
  et: 'xxxx',
  eq: 'xxxx',
}

function f(type: keyof typeof Val) {}

可以使用 enum 类型,

enum Types {
  A = 'AK',
  B = 'BK',
  C = 'CK'
}

function foo(type: Types) {
  console.log(type)
}

foo(Types.A)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进