JS Closure Compiler, синтаксис @param для деструктуризации массива? - PullRequest
0 голосов
/ 27 ноября 2018

Я не могу найти правильный синтаксис для @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, а не one и two.

Кто-нибудь знает правильный синтаксис для использования при деструктуризации массива?

1 Ответ

0 голосов
/ 27 ноября 2018

Закрывающий компилятор в настоящее время не поддерживает разные типы при разных индексах массива.Так что в этом случае все, что вы делаете, это:

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