You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flow中实现传入/传出任意键对象的类型标注?

为无属性限制的对象参数/返回值添加Flow类型

没问题,针对你这种参数和返回值都是无任何属性限制的对象的场景,有两种简洁的方式可以给myFunc添加Flow类型标注:

方式一:使用Object类型(最简洁)

Object在Flow中泛指任意非原始类型的对象,刚好匹配你“属性无限制”的需求:

// @flow
const myFunc = (a: Object, b: Object): Object => {
  // magic
  const c = {}; // 示例返回对象
  return c;
};

方式二:使用索引签名(更明确)

如果你想更清晰地表达“任意字符串键对应任意类型值”的对象结构,可以用索引签名语法{ [key: string]: mixed }:

// @flow
const myFunc = (a: { [key: string]: mixed }, b: { [key: string]: mixed }): { [key: string]: mixed } => {
  // magic
  const c = {}; // 示例返回对象
  return c;
};

两种方式都能满足你的需求:

  • 第一种写法更简洁,适合快速标注;
  • 第二种写法更直观地体现了对象的“无属性限制”特性,可读性更强。

内容的提问来源于stack exchange,提问作者Zerium

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:36:01