Typy při destrukturalizaci polí
function f([a,b,c]) {
// this works but a,b and c are any
}
Je možné napsat něco takového?
function f([a: number,b: number,c: number]) {
// being a, b and c typed as number
}
Odpověď č. 1
Toto je správná syntaxe pro destrukturalizaci pole uvnitř seznamu argumentů:
function f([a,b,c]: [number, number, number]) {
}
Odpověď č. 2
Ano, je. V TypeScriptu to děláte pomocí typů pole jednoduchým způsobem, vytvářením n-tic.
type StringKeyValuePair = [string, string];
Můžete dělat, co chcete, tím, že pojmenujete pole:
function f(xs: [number, number, number]) {}
Ale vnitřní parametr byste nenazvali. Další možností je použít destrukturování po párech:
function f([a,b,c]: [number, number, number]) {}
Odpověď č. 3
S TypeScriptem 4.0 mohou nyní typy n-tic poskytovat štítky
type Range = [start: number, end: number]
