2 votes

Quelle est la différence entre FileList et File[] (alias Array of File) ?

Lorsque je reçois des chutes de fichiers dans un navigateur, j'obtiens une Liste de fichiers objet. Quel est le but de ce type ? D'après ce que je peux voir, c'est presque la même chose qu'un type Typescript File[] ou un bon vieux tableau JavaScript d'objets de fichiers.

D'après ce que j'ai pu trouver, FileList est inférieur puisqu'il n'est pas possible d'itérer sur des valeurs ou des indices en utilisant l'une des méthodes suivantes

for (let file of files) {
  // read file
}

for (let index in files) {
  // read files[index]
}

Je ne vois pas non plus de raison historique, puisque Array de Fichier devrait exister depuis au moins aussi longtemps que FileList.

Est-ce que je rate quelque chose ici ?

2voto

artur grzesiak Points 4056

Il semble que vous soyez tout à fait dans le vrai. spécification officielle :

Remarque : L'interface FileList doit être considérée comme "à risque" car la tendance générale sur la plate-forme Web est de remplacer ces interfaces par l'objet de plate-forme Array dans ECMAScript [ECMA-262]. En particulier, cela signifie que la syntaxe du type filelist.item(0) est à risque ; la plupart des autres utilisations programmatiques de FileList ne seront probablement pas affectées par la migration éventuelle vers un type Array.

Cette interface est plutôt ancienne et assez similaire à Liste de nœuds bien que ce dernier ait été un peu modernisé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X