gpt4 book ai didi

typescript - 禁止在 TypeScript 中显示类型的别名

转载 作者:行者123 更新时间:2023-12-05 03:56:57 26 4
gpt4 key购买 nike

当您创建类型别名并使用它时,例如,在导出方法的签名中,您为该方法获得的智能提示会显示别名,而不是真正的基础类型。有没有办法为给定类型选择退出?

我可以看到在某些/大多数情况下这就是您想要的,但有时创建别名只是因为完整类型表达式在源文件中重复或繁琐,但在外部,别名是一个不透明的名称'帮助消费者知道如何履行它。

最佳答案

Typescript 使用一些试探法来决定何时保留类型别名或何时扩展它。我们实际上并没有太多控制权,启发式可能会根据反馈和错误在不同版本之间发生变化。

也就是说,有时我们可以利用编译器的作用来强制扩展类型别名。例如,此代码将显示您想要的工具提示,但需要更改签名:

type AnAlias = (a: number) => string;

type FunctionSignature<T extends (...a: any) => any> = {} & ((...a: Parameters<T>) => ReturnType<T>)

declare function fn(a: FunctionSignature<AnAlias>): void

fn()

Playground Link

tooltip imgage

关于typescript - 禁止在 TypeScript 中显示类型的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58852195/

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