如何使用 JSDoc 向 class 中的函数添加参数
How to add a paramater to a function in a class with JSDoc
所以让我们在这里设置table。
我有一个名为 Command 的 class,其中 class 我有一个对象作为具有 3 个属性的参数 (name, description, execute())
class Command {
/**
*
* @param {Object} opts
* @param {String} opts.name
* @param {String} opts.description
* @param {Function} opts.execute
*/
constructor(opts) {
this.name = opts.name;
this.description = opts.description;
this.execute = opts.execute;
}
}
execute
属性 是一个函数,我想为这些函数中的参数传递另一组 JSDoc 行。
大体上应该是这样的
module.exports = {
name: "Hello!",
description: "----",
/**
* @param {Message} message
* @param {Client} client
* @param {Array} args
*/
execute(message, client, args) {},
};
是否可以这样做,或者我是否必须切换到 TypeScript?
提前致谢
可以使用typedef
和property
,但是需要在所有使用的文件上都写上,最好用tsconfig.json
.
你不需要 typescript,你只需要 tsconfig.json
,当然 typescript 会更好。
https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
/**
* The complete Triforce, or one or more components of the Triforce.
* @typedef {Object} WishGranter~Triforce
* @property {boolean} hasCourage - Indicates whether the Courage component is present.
* @property {boolean} hasPower - Indicates whether the Power component is present.
* @property {boolean} hasWisdom - Indicates whether the Wisdom component is present.
*/
/**
* A class for granting wishes, powered by the Triforce.
* @class
* @param {...WishGranter~Triforce} triforce - One to three {@link WishGranter~Triforce} objects
* containing all three components of the Triforce.
*/
function WishGranter(triforce) {}
所以让我们在这里设置table。
我有一个名为 Command 的 class,其中 class 我有一个对象作为具有 3 个属性的参数 (name, description, execute())
class Command {
/**
*
* @param {Object} opts
* @param {String} opts.name
* @param {String} opts.description
* @param {Function} opts.execute
*/
constructor(opts) {
this.name = opts.name;
this.description = opts.description;
this.execute = opts.execute;
}
}
execute
属性 是一个函数,我想为这些函数中的参数传递另一组 JSDoc 行。
大体上应该是这样的
module.exports = {
name: "Hello!",
description: "----",
/**
* @param {Message} message
* @param {Client} client
* @param {Array} args
*/
execute(message, client, args) {},
};
是否可以这样做,或者我是否必须切换到 TypeScript?
提前致谢
可以使用typedef
和property
,但是需要在所有使用的文件上都写上,最好用tsconfig.json
.
你不需要 typescript,你只需要 tsconfig.json
,当然 typescript 会更好。
https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
/**
* The complete Triforce, or one or more components of the Triforce.
* @typedef {Object} WishGranter~Triforce
* @property {boolean} hasCourage - Indicates whether the Courage component is present.
* @property {boolean} hasPower - Indicates whether the Power component is present.
* @property {boolean} hasWisdom - Indicates whether the Wisdom component is present.
*/
/**
* A class for granting wishes, powered by the Triforce.
* @class
* @param {...WishGranter~Triforce} triforce - One to three {@link WishGranter~Triforce} objects
* containing all three components of the Triforce.
*/
function WishGranter(triforce) {}