typescript - 是否可以从数组创建 typescript 类型?

标签 typescript typescript-typings

我经常使用这样的代码

export type Stuff = 'something' | 'else'
export const AVAILABLE_STUFF: Stuff[] = ['something', 'else']

这样我既可以使用 Stuff 类型,也可以在需要时迭代所有可用的东西。

这行得通,但感觉像是重复了两次信息。而且您必须小心,因为更新 StuffAVAILABLE_STUFF 也需要更新其对应项。

有没有更好的方法来定义数组的类型,或者甚至使用数组来键入一些数据?

最佳答案

使用 TypeScript v3.4 const assertions :

export const AVAILABLE_STUFF = <const> ['something', 'else'];
export type Stuff = typeof AVAILABLE_STUFF[number];

关于typescript - 是否可以从数组创建 typescript 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55020193/

相关文章:

javascript - 使用 RxJS 按属性状态计数?

javascript - TURF bool 值内部未按预期工作

typescript - 如何为导出函数的commonjs模块编写定义文件

javascript - 我应该如何在定义文件中定义全局 TypeScript 变量以便可以导入它?

typescript - 如何在 asp.net core 应用程序中手动配置类型

angular - Ionic slides - 前后动态添加幻灯片

typescript - 测试 Typescript 中的字符串文字类型

javascript - 无法测试 canActivate() 的错误路径 - Angular2+

typescript - Typescript中函数声明的区别

javascript - 为什么我必须为常规 "const"变量指定类型,而不是为 "const"循环中定义的 "for"变量指定类型?