gpt4 book ai didi

javascript - Flow 中星号 (*) 类型的用途是什么?在 TypeScript 中星号 (*) 类型的等效项是什么?

转载 作者:行者123 更新时间:2023-12-02 22:31:42 25 4
gpt4 key购买 nike

首先,我最熟悉的是 TypeScript。 Flow 在很多方面看起来与 TS 非常相似,但我最近偶然发现了一种星号 (*) 类型。起初,我认为它是“any”的同义词,但现在,在阅读了 Flow 的一些发行说明后,我发现事实并非如此。我浏览了所有官方文档,没有找到任何“*”的用法。

那么,它是什么以及何时使用它?而且,TypeScript 中的直接等价物是什么?

最佳答案

编辑:自从我最初写这个答案以来,我了解到 * 当它出现在模块边界时是不安全的。我不建议使用它,并且将来可能会删除它。

它只是告诉 Flow 推断类型参数,而不是让您显式地写出来:

function foo(): Array<*> {
return [5];
}

// Flow issues an error:
// 2: return [5];
// ^ number. This type is incompatible with
// 10: (foo(): Array<string>);
// ^ string
(foo(): Array<string>);

( try flow )

它与 any 不同 - any 是不安全类型,因此如果将 * 替换为 any > 在此示例中,Flow 不会给您任何错误。您可以将其替换为 number,Flow 会给出类似的错误。

关于javascript - Flow 中星号 (*) 类型的用途是什么?在 TypeScript 中星号 (*) 类型的等效项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44106189/

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