gpt4 book ai didi

javascript - single & 和 single | 是什么意思运营商在flow js中做什么?

转载 作者:搜寻专家 更新时间:2023-10-31 22:58:08 25 4
gpt4 key购买 nike

react-native repo here 中的一个文件中有一段代码如下图:

export type Operation =
& {instanceID: DebugID}
& (
| {type: 'mount', payload: string}
| {type: 'insert child', payload: {toIndex: number, content: string}}
| {type: 'move child', payload: {fromIndex: number, toIndex: number}}
| {type: 'replace children', payload: string}
| {type: 'replace text', payload: string}
| {type: 'replace with', payload: string}
| {type: 'update styles', payload: mixed /* Style Object */}
| {type: 'update attribute', payload: {[name: string]: string}}
| {type: 'remove attribute', payload: string});

单个 &| 运算符在这里应该做什么?

当我在我的 React 上运行 jest 测试用例时,我在第一个 | 运算符处收到此文件中的 Unexpected token 错误- native 应用程序。我正在运行 Node 版本 5.9.1。我的另一个运行 Node 版本 8.x 的队友没有遇到意外 token 错误。因此,我假设这些运算符是在 Node 版本 5.9.1 之后引入的。对吗?

最佳答案

在这种情况下,这些用于流类型。他们代表Union TypesIntersection Types . Flow 注释为您的代码提供静态类型检查,在这里它们定义了对象必须被 Flow 视为有效 Operation 类型的结构,例如将对象传递给期望的函数时这种形式的 Operation 参数。它们不是 JS 语言的官方部分。要使用它们,您需要在 babel 中启用流注释或使用 flow-remove-types:

https://flow.org/en/docs/install/

但是,&| 运算符确实存在于 JavaScript 中,但对于 bitwise arithmetic .

关于javascript - single & 和 single | 是什么意思运营商在flow js中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45489866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com