我可以让 TypeScript 根据外部函数缩小范围吗?

Can I get TypeScript to narrow based on outer function?

提问人:Brandon-Perry 提问时间:6/16/2023 更新时间:6/16/2023 访问量:28

问:

我想要一个函数来检查 X 或 Y 是否为 null,如果不是,则让 TypeScript 成功缩小类型范围。这可能吗?

const X: string | null
const Y: Record<string, Bar> | null

const checkNull = <T,>(cb:()=>T):T|null => !X || !Y ? null : cb()

const getBar = () => checkNull(()=> Y[X]) << currently says Y and X could be null
TypeScript TypeScript 泛型 类型缩小

评论

0赞 wonderflame 6/16/2023
什么?常量没有赋值Bar
2赞 jcalz 6/16/2023
编辑代码以制作一个最小的可重现示例,我们可以将其粘贴到我们自己的 IDE 中,以查看您所看到的内容。

答: 暂无答案