在TypeScript中是否有将某些东西标记为已弃用的功能?

217
我正在为一个带有已弃用方法的JavaScript API编写TypeScript定义。以下是文档的一部分(他们称之为API,但仅与此单个方法有关):
“此API没有效果。它已被维护以保持兼容性。”
出于兼容性考虑,我还想在定义文件中记录此方法。但是如果可能,我想以某种方式传达它已被弃用。
尽管我的当前问题仅涉及定义文件中的弃用,但我还想在其他代码中使用此功能。因此,问题更加普遍:如何在TypeScript中标记某些内容为已弃用?

2
请查看 https://github.com/microsoft/TypeScript/issues/390 - Kexus
1个回答

399

您可以使用JSDoc注释来标记已弃用的代码:

/**
 * @deprecated The method should not be used
 */
export const oldFunc = () => {}

此外,这个eslint规则可以检查被弃用的方法并警告其使用。


27
FYI,截至VSCode v1.49版本,它已支持@deprecated JSDoc标签。详情请见:https://code.visualstudio.com/updates/v1_49#_deprecated-tag-support-for-javascript-and-typescript - DLight
4
你知道如何在联合类型的值中使用它吗? - mr5
它可以工作,但只在编辑器级别。我需要的是在编译消息中发出警告。 - Daniel Lobo
2
如果您已经设置了eslint,根据配置,您将收到警告/错误。 - Vladyslav Zavalykhatko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接