相关疑难解决方法(0)

强制 Typescript 对象只有一组键中的一个

基本问题和背景

我正在尝试输入一个对象数组,其中每个对象都具有一组中的一个键。例如:

const foo = [
  { a: 'foo' },
  { b: 'bar' },
  { c: 'baz' },
]
Run Code Online (Sandbox Code Playgroud)

我的第一次尝试是key in联合:

type Foo = { [key in 'a' | 'b' | 'c']: string }[]
const foo: Foo = [
  { a: 'foo' },
  { b: 'bar' },
  { c: 'baz' },
]
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为 Typescript 希望每个对象都拥有联合中的所有键:

type Foo = { [key in 'a' | 'b' | 'c']: string }[]
const foo: Foo = [
  { …
Run Code Online (Sandbox Code Playgroud)

typescript

11
推荐指数
1
解决办法
2912
查看次数

打字稿限制对象属性的数量

是否可以限制对象属性的数量,例如我想限制对象只有一个字符串属性(具有任何名称),我可以这样做:

{[index: string]: any}
Run Code Online (Sandbox Code Playgroud)

限制属性的类型,但是可以限制属性的数量吗?

typescript

5
推荐指数
2
解决办法
288
查看次数

标签 统计

typescript ×2