gpt4 book ai didi

javascript - 如何修复以下 JavaScript 代码以使其与 Flowtype 一起使用?

转载 作者:行者123 更新时间:2023-11-28 05:06:35 25 4
gpt4 key购买 nike

鉴于以下代码片段,我收到以下错误...我该如何修复它?

This type is incompatible with the expected return type of number enum.

type Size = 1 | 2 | 3;
const GetSize = (): Size => {
const result: number = parseInt(Math.random() * 20);
if (result > 3) {
return 3;
}
return result;
};

您可以try it online ...

编辑:

该问题与从整数到枚举的转换有关。

最佳答案

Math.random() 返回 [0, 1) 之间的“ float ”。所以它可以返回0.5或0.31231。类型确实不兼容。即使它以相同的概率返回 0 或 1,您仍然超出了 Size 类型的限制。

解决此问题的一种方法是执行类似 return (int)result + 1 的操作。但我不知道 Flow 是否足够聪明,能够理解这一点。正确的方法是为您预期的所有情况使用 if/else,并根据这些情况显式返回 1、2 或 3。就像您对大于 3 的结果所做的那样。

关于javascript - 如何修复以下 JavaScript 代码以使其与 Flowtype 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41695887/

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