Tout à fait. J'ai eu une erreur dans les 2 premiers donc je l'ai mis partout sans plus réfléchir (et ça marche pas de ne pas réfléchir...).
Je fais ça en permanence pour des scripts courts du genre du journal, y compris en Python ou en shell. Si, je dirais que ça marche et que c'est plus efficace - pour les humains que nous sommes - que tout faire toujours "propre" (ce qui est de toute façon une notion subjective) :-)
J'aime bien forEach(), il y a d'autres arguments pour l'un ou pour l'autre autre que le style ?
.forEach, c'est n + 1 appels de fonctions (forEach elle-même, puis le corps de la boucle, ici une fonction anonyme). for...of est une construction native du langage. Je m'attends à ce que ça soit plus efficace.
Je pense aussi, et là c'est une question de goût, que c'est plus facile à comprendre dans un style impératif, en limitant les fonctions et avec moins de bruit syntaxique. Je pense que .forEach a sa place quand on a déjà une fonction qui fait le travail du corps de la fonction.
array.forEeach(doStuffWithOneElement);
Plus concis que :
for(letelemofarray){doStuffWithOneElement(elem);}
Et là, question perf, je ne sais pas lequel est meilleur mais je m'attends à ce que la différence ne soit pas très grande, .forEach est probablement implémentée avec un code de ce genre dans les moteurs Javascript. Peut-être avec du code natif. Je n'ai pas regardé.
[^] # Re: Petites remarques sur le script
Posté par raphj (site web personnel) . En réponse au journal Karma is considered harmful. Évalué à 2.
Je fais ça en permanence pour des scripts courts du genre du journal, y compris en Python ou en shell. Si, je dirais que ça marche et que c'est plus efficace - pour les humains que nous sommes - que tout faire toujours "propre" (ce qui est de toute façon une notion subjective) :-)
.forEach, c'est n + 1 appels de fonctions (forEachelle-même, puis le corps de la boucle, ici une fonction anonyme).for...ofest une construction native du langage. Je m'attends à ce que ça soit plus efficace.Je pense aussi, et là c'est une question de goût, que c'est plus facile à comprendre dans un style impératif, en limitant les fonctions et avec moins de bruit syntaxique. Je pense que
.forEacha sa place quand on a déjà une fonction qui fait le travail du corps de la fonction.Plus concis que :
Et là, question perf, je ne sais pas lequel est meilleur mais je m'attends à ce que la différence ne soit pas très grande,
.forEachest probablement implémentée avec un code de ce genre dans les moteurs Javascript. Peut-être avec du code natif. Je n'ai pas regardé.