• [^] # Re: Quelles erreurs

    Posté par (site web personnel) . En réponse à la dépêche Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?. Évalué à 10.

    J'ai utilisé le conditionnel car je ne suis pas sûr qu'il y ait vraiment des erreurs dans JS qui puissent être réparées. Mais voici quelques erreurs de jeunesse :

    • l'absence de classe (les prototypes sont très déroutants) ;
    • problème avec this : setTimeout(foo.bar, 10) -> la méthode bar va être appelée avec this == window et pas foo comme on pourrait l'espérer ;
    • pollution de l'espace global : si on oublie de déclarer une variable avec var, elle devient une variable globale, alors qu'il serait préférable d'en faire une variable locale ;
    • l'opérateur == n'est pas transitif et fait appel à la coercition, ce qui conduit à de nombreux WTF! ;
    • il est trop difficile de parcourir les attributs d'un objet ;
    • il est difficile d'écrire des chaînes de caractères de plusieurs lignes en incluant des variables dedans (des templates).

    Mais, pour ma part, j'ai trouvé une solution à ces problèmes qui me convient bien : CoffeeScript.