如何在Flow中为可选函数参数添加fallback值?
Flow中带默认值参数的类型注解写法
嘿,这个问题我太熟了!其实Flow里处理带默认值的参数,和普通JavaScript的写法几乎一致,只需要给参数加上对应的类型注解就好,我给你拆解几个常见场景:
基础用法:给可选参数设置null默认值
你在普通JS里的写法是这样的:
function handlePath(pathname, data = null) { // 你的函数逻辑 }
对应到Flow中,只需要给参数添加上类型注解,默认值的写法完全保留:
function handlePath(pathname: string, data: ?any = null) { // 你的函数逻辑 }
这里的?any是Flow的可选类型语法,表示这个参数可以是any类型,或者null/undefined,刚好和我们设置的默认值null匹配。
指定具体类型的场景
如果你的data有明确的类型(比如自定义对象),直接把any换成对应的类型就行:
// 先定义自定义类型 type RequestData = { id: number, content: string }; // 带类型注解和默认值的函数 function handlePath(pathname: string, data: ?RequestData = null) { // 你的函数逻辑 }
多个参数都带默认值的情况
要是你有多个参数都需要设置默认值,Flow也完全支持,写法和JS一致:
function handlePath(pathname: string = "/home", data: ?RequestData = null) { // 你的函数逻辑 }
需要注意的是,Flow会自动校验默认值和类型注解的一致性——比如如果你把默认值设为null,但类型注解写的是string,Flow会立刻抛出类型错误,帮你提前规避问题。
内容的提问来源于stack exchange,提问作者Ilja
相关产品推荐
相关产品推荐

