Typy pri deštrukturalizácii polí
function f([a,b,c]) {
// this works but a,b and c are any
}
Je možné napísať niečo také?
function f([a: number,b: number,c: number]) {
// being a, b and c typed as number
}
Odpoveď č. 1
Toto je správna syntax pre deštrukturalizáciu poľa v rámci zoznamu argumentov:
function f([a,b,c]: [number, number, number]) {
}
Odpoveď č. 2
Áno, je. V TypeScripte to robíte jednoduchým spôsobom pomocou typov polí, vytváraním n-tíc.
type StringKeyValuePair = [string, string];
Môžete robiť, čo chcete, tým, že pomenujete pole:
function f(xs: [number, number, number]) {}
Ale nepripomenuli by ste vnútorný parameter. Ďalšia možnosť je použiť deštrukturalizáciu podľa párov:
function f([a,b,c]: [number, number, number]) {}
Odpoveď č. 3
S TypeScript 4.0 môžu typy n-tíc teraz poskytovať označenia
type Range = [start: number, end: number]
