Sprawdziłem przez UseJSDoc.org i Google Closure Compiler, a żadna z dokumentacji nie opisuje sposobu określenia długości tablicy.
Domyślam się, że kompilator sprawdza tylko typ, a nie długość, więc nawet gdyby była składnia do jawnego opisania długości tablicy, tablica o nieprawidłowej długości prawdopodobnie nadal przekazywałaby kompilator (żaden błąd nie zostałby zgłoszony).
Najlepszym sposobem na to jest w opisie ludzkiego języka parametru i powrotnych typu:
/**
* Duplicates a 4-length array into itself.
* e.g. `[2, 3, 5, 8] => [2, 2, 3, 3, 5, 5, 8, 8]`
* @param {Array<number>} arr the array to duplicate (exactly 4 entries)
* @returns {Array<number>} the result (an array of length 8)
*/
function dupe(arr) {
...
}
FYI, można użyć Array.<number>
lub Array<number>
lub nawet number[]
wewnątrz deklaracji @type
.
Jeśli ta funkcja jest dla Ciebie ważna (z pewnością z niej skorzystam!), Możesz submit an issue.
Muszę dokładnie opisać długość tablicy. Czy jest jakiś sposób na zrobienie tego? – Hitmands