Javascript JS闭包编译器,数组解构的@param语法?
我找不到用于数组分解的Javascript JS闭包编译器,数组解构的@param语法?,javascript,ecmascript-6,google-closure-compiler,destructuring,Javascript,Ecmascript 6,Google Closure Compiler,Destructuring,我找不到用于数组分解的@param注释的正确语法。例如: let destructArray = ([one, two]) => one + two; 我试着模仿对象分解语法: // object destructuring works /** @param {{one: number, two: number}} o */ let destructObject = ({one, two}) => one + two; // array destructuring does no
@param
注释的正确语法。例如:
let destructArray = ([one, two]) => one + two;
我试着模仿对象分解语法:
// object destructuring works
/** @param {{one: number, two: number}} o */
let destructObject = ({one, two}) => one + two;
// array destructuring does not works
/** @param {[one: number, two: number]} a */
let destructArray = ([one, two]) => one + two;
但这不是有效的语法。我也尝试过/**param{Array}a*/
,但它需要一个名为a
的参数,而不是one
和two
有人知道用于数组分解的正确语法吗?闭包编译器目前不支持不同数组索引中的不同类型。因此,在这种情况下,您所要做的就是:
/** @type {function(!Array<number>):number} */
let destructArray = ([one, two]) => one + two;
/**@type{function(!Array):number}*/
让析构函数数组=([1,2])=>1+2;
对于像我这样希望JSDoc的解构支持能够解决这一问题的人来说,情况似乎并非如此。我回答希望它会(你可以在这里看到答案:),但OP说它不起作用。(谢谢你让我知道,junvar,祝你好运——也许CC还不支持这一点。)你的回答仍然有助于提供背景信息;非常感谢。