Question Tableaux de fonderie TypeScript


J'essaie d'utiliser un wrapper pour une bibliothèque qui veut un tableau comme paramètre d'entrée.

J'ai essayé de lancer le tableau, mais j'ai une erreur: Impossible de convertir 'any []' en 'Array'

Est-il possible de faire ce travail?

var rows = new Array(10);
var rows2 = <Array>rows; //<--- Cannot convert 'any[]' to 'Array'

28
2017-10-09 04:12


origine


Réponses:


Il existe 4 méthodes de conversion possibles dans TypeScript pour les tableaux:

let x = []; //any[]

let y1 = x as number[];
let z1 = x as Array<number>;
let y2 = <number[]>x;
let z2 = <Array<number>>x;

le as les opérateurs sont principalement conçus pour *.tsx fichiers pour éviter l'ambiguïté de la syntaxe.


40
2018-02-03 16:09



Je pense que la bonne syntaxe est la suivante:

var rows2 = <Array<any>>rows;

C'est comme ça que vous lancez interface Array<T>


8
2018-02-03 15:10



Je pense que c'est juste un bug - pouvez-vous enregistrer un problème sur le site CodePlex?

Pour contourner ce problème, vous pouvez écrire <Array><any>rows;


4
2017-10-09 04:33