相关疑难解决方法(0)

包含 Typescript 中所有 value 类型选项的数组

这是强制所有类型选项出现在对象键中的代码(并且不允许其他键):

type Fruit = 'apple' | 'peach';
const objectWithAllFruitsAsKeys: {
  [ key in Fruit ]: any
} = { apple: '', peach: '' }
Run Code Online (Sandbox Code Playgroud)

我正在寻找输入公式,允许与数组值的接近行为 - 获取所有 Fruit 类型的值作为值出现在其中的数组

const arrayWithAllFruitsAsvalues: ??? = ['apple', 'peach'];
Run Code Online (Sandbox Code Playgroud)

你们有什么想法吗?先感谢您!

typescript

7
推荐指数
1
解决办法
1853
查看次数

确保数组具有来自联合的所有类型

假设我有一个看起来像这样的工会

type Colors = 'red' | 'blue' | 'pink'
Run Code Online (Sandbox Code Playgroud)

是否可以针对此联合对数组进行类型检查并确保该数组包含所有类型?

IE:

const colors: UnionToTuple<Colors> = ['red', 'blue']  // type error, missing 'pink'
const colors: UnionToTuple<Colors> = ['red', 'blue', 'pink']  // no error
Run Code Online (Sandbox Code Playgroud)

javascript typescript

7
推荐指数
1
解决办法
534
查看次数

强制数组在联合类型上是详尽的

给定一个使用此处描述的技术创建的强类型元组:

const tuple = <T extends string[]>(...args: T) => args;
const furniture = tuple('chair', 'table', 'lamp');

// typeof furniture[number] === 'chair' | 'table' | 'lamp'
Run Code Online (Sandbox Code Playgroud)

我想在设计时断言它对另一种联合类型是详尽无遗的:

type Furniture = 'chair' | 'table' | 'lamp' | 'ottoman'
Run Code Online (Sandbox Code Playgroud)

我如何创建一个类型来确保furniture包含联合中的每个类型Furniture

目标是能够在设计时像这样创建一个数组,如果它失败应该Furniture改变;理想的语法可能如下所示:

const furniture = tuple<Furniture>('chair', 'table', 'lamp')
Run Code Online (Sandbox Code Playgroud)

typescript

6
推荐指数
1
解决办法
586
查看次数

标签 统计

typescript ×3

javascript ×1