作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试记录其中一个烦人的函数,它在 JavaScript 中有一个可选的 first 参数。
类似于 express
中的函数 .use()
function use(path, callback) // path is optional
我正在努力寻找有用的东西,而且理想情况下不会非常丑陋。
我对实际代码签名的偏好是这样的:
function use(...args) {
const [callback, path] = args.reverse();
}
在那种情况下,我没有两个参数,所以如果我尝试使用两个 @param
行,我会在 JSDoc block 中大喊大叫:
/**
* @param {String=} path
* @param {Function} callback
*/
function use(...args) // mismatched parameters
如果我按预期使用参数并使用不同的模式来放置参数,我会(被 WebStorm)大吼大叫,因为 callback
不是 String
:
/**
* @param {String=} path
* @param {Function} callback
*/
function use(path, callback) {
if (typeof path == 'function') {
callback = path; // yelled at because callback can't be a string
path = undefined;
}
}
我用谷歌搜索了一下,发现很多旧的东西,不同的人在争论这个问题,但没有明确的答案。由于帖子较旧并且发生了很多事情,我想重新问一下:是否有一种方法可以对此进行记录,以便一切顺利(至少在 WebStorm 中),或者是否有一些新的 ES# 语法允许可选的第一个参数(可以生成正确的自动完成)?
最佳答案
@param {(String=|Function=)} path
可能是您正在寻找的。
关于javascript - 使用可选的第一个参数记录 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47897667/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!