使用对象的值作为类型 - $Values - 类似于 $Keys

布拉戈

从流程文档我们有这个:

// @flow
const countries = {
  US: "United States",
  IT: "Italy",
  FR: "France"
};

type Country = $Keys<typeof countries>;

const italy: Country = 'IT';
const nope: Country = 'nope'; // 'nope' is not a Country

但是我想做

type CountryValue = $Values<typeof countries>
const italy: CountryValue = 'Italy'; // yes

这可能吗?

亚当

您可以使用$Values,但您还需要做更多的事情,因为目前内部的值countries只是被检测为 any string如果您告诉 flow 只允许某些值,那么它可以工作:

type FullNames = "United States" | "Italy";

const countries: {[key: string]: FullNames} = {
  US: "United States",
  IT: "Italy"
};


const nope: $Values(typeof countries) = 'nope'; // 'nope' is not in the value type

我猜想这是不是想要的东西,因为它需要显式地添加类型,但它是可行的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查对象是否类似于数组

来自分类Dev

类型类似于标准库中的空结构

来自分类Dev

Groovy中的数据类型类似于Java?

来自分类Dev

类似于BDE中的fireDAC访问连接对象

来自分类Dev

如何遍历类似于PHP的foreach函数的python数组/对象

来自分类Dev

如何使用Docker的“类似于git”的功能?

来自分类Dev

类似于创建对象而不是方法的匿名函数?

来自分类Dev

“类型”的使用类似于变量(c#)

来自分类Dev

类似于Bootstrap 3中按钮的不可点击对象

来自分类Dev

函数类似于“何时”,但返回值?

来自分类Dev

Django,基于视图的权限类似于每个对象的权限

来自分类Dev

R中作为元素组合的类似于combn的任务

来自分类Dev

类似于类型列表(?)的模板类

来自分类Dev

找出值类似于列表中的任何值

来自分类Dev

添加类似于Facebook使用的效果

来自分类Dev

类似于记录但创建联合类型的打字稿类型

来自分类Dev

对Java对象使用类似于解构的语法

来自分类Dev

JavaScript对象数字索引的排序方式类似于数组

来自分类Dev

名称空间的使用方式类似于使用嵌套ElasticClient的类型

来自分类Dev

Android GridView比例类型类似于html包含

来自分类Dev

数据对象的类似于检查器的绑定

来自分类Dev

使用Java进行类似于Ajax的调用

来自分类Dev

实现类似于内置布尔值的布尔值

来自分类Dev

C ++-对象图的哈希值类似于boost :: serialization

来自分类Dev

用类似于JSON的代码捕获值

来自分类Dev

类似于 javascript var 的 typescript 的动态参数类型

来自分类Dev

访问 JavaScript 映射类似于普通对象

来自分类Dev

使用链接替换标签值,类似于选择标签

来自分类Dev

LINQ 是否存在类似于 FoxPro 的 Rushmore 的任何类型的索引?

Related 相关文章

  1. 1

    检查对象是否类似于数组

  2. 2

    类型类似于标准库中的空结构

  3. 3

    Groovy中的数据类型类似于Java?

  4. 4

    类似于BDE中的fireDAC访问连接对象

  5. 5

    如何遍历类似于PHP的foreach函数的python数组/对象

  6. 6

    如何使用Docker的“类似于git”的功能?

  7. 7

    类似于创建对象而不是方法的匿名函数?

  8. 8

    “类型”的使用类似于变量(c#)

  9. 9

    类似于Bootstrap 3中按钮的不可点击对象

  10. 10

    函数类似于“何时”,但返回值?

  11. 11

    Django,基于视图的权限类似于每个对象的权限

  12. 12

    R中作为元素组合的类似于combn的任务

  13. 13

    类似于类型列表(?)的模板类

  14. 14

    找出值类似于列表中的任何值

  15. 15

    添加类似于Facebook使用的效果

  16. 16

    类似于记录但创建联合类型的打字稿类型

  17. 17

    对Java对象使用类似于解构的语法

  18. 18

    JavaScript对象数字索引的排序方式类似于数组

  19. 19

    名称空间的使用方式类似于使用嵌套ElasticClient的类型

  20. 20

    Android GridView比例类型类似于html包含

  21. 21

    数据对象的类似于检查器的绑定

  22. 22

    使用Java进行类似于Ajax的调用

  23. 23

    实现类似于内置布尔值的布尔值

  24. 24

    C ++-对象图的哈希值类似于boost :: serialization

  25. 25

    用类似于JSON的代码捕获值

  26. 26

    类似于 javascript var 的 typescript 的动态参数类型

  27. 27

    访问 JavaScript 映射类似于普通对象

  28. 28

    使用链接替换标签值,类似于选择标签

  29. 29

    LINQ 是否存在类似于 FoxPro 的 Rushmore 的任何类型的索引?

热门标签

归档