Et pour ceux qui utilisent des transpilers comme CoffeeScript, TypeScript, LiveScript etc. est-ce que ces "soucis" liés au langage sous-jacents sont encore visibles/effectifs ? Je sais que l'objectif de ces surcouches est de rendre le langage plus "sympa" (même si c'est discutable niveau syntaxique dans certains cas), mais est-ce que ça corrige aussi implicitement certaines "erreurs fondamentales" du langage ?
Pour ce qui est de typescript (que j'utilise), si tu restes en typescript pur, oui c'est corrigé et tu ne peux pas vraiment faire de bêtises. Par contre, rien ne t'empêche d'écrire du javascript dans ton typescript, ou encore d'utiliser le type "any", qui te permet de faire n'importe quoi ^^
Mais je pense qu'ils ont introduit (ou vont introduire prochainement) un mode strict.