gpt4 book ai didi

typescript - 为什么在 TypeScript 中声明 'any' 返回类型?

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:43 25 4
gpt4 key购买 nike

例如:

function getUserInput(input: any): any {
return input
}

声明“任何东西都可以返回”似乎很愚蠢。目的是什么?

最佳答案

它对懒惰和无知的人很有用。

但不要把这当成咆哮!

有时您(或您的客户/老板)“需要”在打字时偷懒。当实际类型太复杂时,您需要快速编写一些东西,正如 artem 的回答中已经指出的那样。

它可以允许编码的灵 active 。 (尽管最终可能会导致代码库不佳)

此外,您很可能完全不知道某些 API 调用或 javascript 函数的实际返回类型,这对您来说是一个黑盒子。也许它动态构造一个对象并有几十种可能的返回结构。

例如:如果(经过净化的)输入可能是各种 json 表达式、数字或字符串等,您将如何键入 eval 函数的结果?

当你开始写object |编号 |字符串 | bool | null,为了可读性,你想写 any

当然,你应该尽量避免这种情况,这被认为是不好的做法。

无论如何,我认为在某些真实场景中错过此语言功能会使事情变得复杂。

编辑:我差点忘了,但我认为 TypeScript 必须 具有此功能或符合其规范的类似功能:每个 JavaScript 代码都应该是“有效的”TypeScript(编译器会很乐意接受任何 JS 代码作为 TypeScript,并简单地将其转换为相同的 JS 代码,并使用正确的编译器选项)。

在这样的 JS-TS 代码中,大多数绑定(bind)必须隐式类型化any 以适应这种情况。

关于typescript - 为什么在 TypeScript 中声明 'any' 返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54337552/

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