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

如何让Ramda.is(Array)返回val is any[]类型而非unknown[]

解决Ramda.is(Array)返回类型的问题

Ramda的is函数本身支持泛型参数,你可以直接通过指定泛型让它返回val is any[]类型,无需额外封装:

// 两种写法都可行
R.is<Array<any>>(Array)(val);
R.is<any[]>(Array)(val);

这样TypeScript就会将该类型断言的返回值识别为val is any[],而非默认的unknown[]。

另外你提到的自定义断言函数方案也完全可用,如果需要在多处复用,封装成工具函数会更便捷:

const isArray = (val: any): val is any[] => R.is(Array)(val);
// 调用示例:isArray(someValue)

两种方式都能达成需求,泛型方式更简洁直接,封装函数则适合高频复用场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:06:28