【发布时间】:2023-03-24 16:30:02
【问题描述】:
显然,何时弃用和何时删除取决于开发人员,但我想知道如何警告开发人员 JavaScript 函数已被弃用?
一些流行的语言(Java、C#、Python)以某种形式支持语言级别的弃用。
不过,对于 JavaScript,我找不到任何标准方法可以让开发人员指出某个函数已被弃用(在代码中)。我能做的最好的就是遵循(大量)发行说明。
例如,对 jQuery 1.8 的完整源代码进行 grepping 显示最小的内联 cmets:
# curl http://code.jquery.com/jquery-1.8.0.js | grep -i depre
// jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode
// *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 ***
// Some plugins are using, but it's undocumented/deprecated and will be removed.
// Deprecated
// Limit scope pollution from any deprecated API
// Deprecated, use jQuery.browser.webkit instead
W3C 和 MDN 似乎没有标准方法或提供有关如何处理此问题的建议。
我发现最好的是 JSDoc 的 @deprecated 标签。
有人知道 JavaScript 是否 有我忽略的弃用注释吗?有没有更好或更常见的方法来做到这一点?
【问题讨论】:
-
console.log('This function is deprecated.'); -
@FlorianMargaine 很有趣,你能创建这个作为答案吗?您知道使用这种方法的任何库吗?
-
是的,jQuery Migrate(用于 1.8 -> 1.9 升级)就是这样做的。
-
已弃用 = str => {if(!cmap[str]) {cmap[str]=true; console.warn(str)}} // 第一次使用特定消息调用时给出警告
标签: javascript deprecated deprecation-warning