JS Closure 编译器,用于数组解构的@param 语法?

JS Closure Compiler, @param syntax for array 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 not works
/** @param {[one: number, two: number]} a */
let destructArray = ([one, two]) => one + two;

但这不是有效的语法。我也试过 /** @param {Array<number>} a */,但它需要一个名为 a 的参数,而不是 onetwo.

有人知道数组解构的正确语法吗?

Closure Compiler 目前不支持不同数组索引处的不同类型。所以在这种情况下,你要做的就是:

/** @type {function(!Array<number>):number} */
let destructArray = ([one, two]) => one + two;