【问题标题】:How to annotate names to arrow functions in VSCode/JSDoc?如何在 VSCode/JSDoc 中为箭头函数注释名称?
【发布时间】:2022-11-02 21:16:03
【问题描述】:

使用箭头函数时(例如在文档元素事件处理程序上),它们在 VS Code 大纲中的事件处理程序名称之后被标记。

因为我有很多,所以大纲对于快速导航到某个大纲没什么帮助。

如何注释此类箭头函数的名称?

使用 JSDoc 可以很好地用于参数描述,但我还没有弄清楚如何添加名称。我希望@function 标签可以这样做,但事实并非如此。 :(

/**
 * @function onMyButtonClick
 * @param {Event} event Triggering event.
 */
document.getElementById("my-button").onclick = (event) => { /* my function */ };

使用函数分配而不是箭头函数在大纲中看起来不错,但是(不必提及)它是不是与箭头函数相同(例如 this 上下文丢失)。所以这不是一个解决方案。

/**
 * @param {Event} event Triggering event.
 */
document.getElementById("my-button").onclick = function onMyButtonClick (event) { /* my function */ };

【问题讨论】:

  • 您是否尝试过使用@namejsdoc.app/tags-name.html
  • this 对您有帮助吗?
  • @KonradLinkowski:是的,我也试过@name@alias。也没有工作。
  • 在不同的行中声明箭头函数怎么样?
  • @bbbbbbbboat:谢谢,这让我更好地理解了箭头函数作为对属性的分配——在我的示例中为onclick,因此函数的名称是“onclick”是合乎逻辑的,因为这是它被分配的位置。 JS 知道链式赋值,所以我可以使用let onMyButtonClick = document.getElementById("my-button").onclick = (event) => { /* my function */ };,它在大纲中显示一个变量onMyButtonClick 和一个嵌套函数onclick。没有我希望的那么好,但可能是最接近的。

标签: javascript visual-studio-code jsdoc arrow-functions


【解决方案1】:

嗯,终于想通了。它必须是一个链式分配:

/**
 * @param {Event} event Triggering event.
 */
document.getElementById("my-button").onclick = onMyButtonClick = (event) => { /* my function */ };

这样,大纲仅将函数名称(“onMyButtonClick”)显示为函数 - 就像需要的一样?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-14
    • 2018-12-27
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    相关资源
    最近更新 更多