2017-06-20 27 views
5

Jeśli mam funkcji JavaScript bierze obiekt jako parametr, mogę opisać oczekiwane właściwości obiektu z JSDoc jak ten:Jak opisać destrukturyzowaną argumenty obiekt w JSDoc

/** 
* @param bar 
* @param bar.baz {number} 
* @param bar.qux {number} 
*/ 
function foo(bar) { 
    return bar.baz + bar.qux; 
} 

Jak mogę opisać te właściwości jeśli zdefiniuję swoją funkcję za pomocą destrukturyzacji ECMAScript 6, nie dając w ogóle prawdziwemu obiektowi parametru?

const foo = ({ baz, qux }) => baz + qux; 

Odpowiedz

6

Okazuje się, że JSDoc obsługuje niszczenie poprzez tworzenie nazwy zastępczej. Brakuje oficjalnej dokumentacji.

https://github.com/jsdoc3/jsdoc/issues/987

/** 
* @param {Object} param - this is object param 
* @param {number} param.baz - this is property param 
* @param {number} param.qux - this is property param 
*/ 
const foo = ({ baz, qux }) => baz + qux;