Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS闭包编译器,数组解构的@param语法?_Javascript_Ecmascript 6_Google Closure Compiler_Destructuring - Fatal编程技术网

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还不支持这一点。)你的回答仍然有助于提供背景信息;非常感谢。