2015-08-10 18 views
7
function f([a,b,c]) { 
    // this works but a,b and c are any 
} 

è possibile scrivere qualcosa del genere?Tipi quando si distruggono gli array

function f([a: number,b: number,c: number]) { 
    // being a, b and c typed as number 
} 
+0

ho bisogno di diversi tipi di dati – thr0w

risposta

16
function f([a,b,c]: [number, number, number]) { 

} 

ho testuale verso questa risposta aggiunto in modo che non compare nel "Solo Codice" coda di VLQ. Come puoi vedere, la domanda è fondamentalmente "Qual è la sintassi per questa attività?", E l'esempio di codice sopra mostra come si presenta la sintassi. Non è rimasto nulla da spiegare.

+0

funziona bene, grazie! – thr0w

+1

Sebbene questo codice possa rispondere alla domanda, fornire un contesto aggiuntivo sul perché e/o su come questo codice risponde alla domanda migliora il suo valore a lungo termine. – JAL

+0

Le modifiche sono accettate, ovviamente. –

4

Sì, lo è. In TypeScript, lo fai con tipi di array in un modo semplice, creando tuple.

type StringKeyValuePair = [string, string]; 

Si può fare quello che vuoi nominando la matrice:

function f(xs: [number, number, number]) {} 

Ma non sarebbe il nome del parametro interal. Un'altra possibilità è l'uso destrutturazione da coppie:

function f([a,b,c]: [number, number, number]) {} 
Problemi correlati