JavaScript에 첫 번째 문자가 인 성가신 함수 중 하나를 문서화하려고합니다. express
문서 첫 번째 매개 변수가있는 JavaScript 문서
function use(path, callback) // path is optional
에서 함수 .use()
같은
뭔가 내가 작동 뭔가를 찾기 위해 노력하고, 이상적으로 몹시 추악하지거야.
실제 코드 서명에 대한 나의 취향이 될 것이다 : 나는 두 @param
라인을 사용하려고하면, 나는이에 호통받을 수 있도록
function use(...args) {
const [callback, path] = args.reverse();
}
, 나는 두 개의 매개 변수가 없습니다 JSDoc 블록 : 목적과 장소의 매개 변수를 넣어 대해 다른 패턴을 사용 나는이 매개 변수를 사용하는 경우 callback
이 String
하지 않기 때문에
/**
* @param {String=} path
* @param {Function} callback
*/
function use(...args) // mismatched parameters
, 나는 (WebStorm에 의해) 소리 쳤다 얻을 :
/**
* @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 # 구문이 있는지 (예 : 적절한 자동 완성을 생성 할 수 있습니까?)
여기가 flow 또는 typescript로 바뀝니다.) – vzwick
또는이 구기 역방향 선택적 매개 변수 패턴을 사용할 때 신나기를 시작하기 만하면됩니다. 나는 바닐라 JS를 좋아하지만이 패턴을 대중화시킨 사람은 ... 내가 좋아하는 사람이 아닙니다. = p – samanime
세미 관련 참고 사항 : http://usejsdoc.org/tags-callback.html – vzwick