Menu ▾ ▴

BonnesPratiquesJavascript

Michel RENON
  • utiliser JSLint

  • UNE SEULE variable globale qui sert de NameSpace, cf variable YAHOO

  • verifier les ';' en fin d'instruction

  • NE PAS UTILISER typeof car fonctionne mal

  • NE PAS UTILISER with et eval

  • phony arrays --> LENT mais puissant car totalement dynamique

  • NE PAS UTILISER '==' and '!=' : UTILISER '===' et '!=='

test ASIS TOBE
'' == '0' false false
0 == '' true false
0 =='0' true false
false == 'false' false false
false == '0' true false
false == undefined false false
false == null false false
null == undefined true false
" \t\r\n " == 0 true false
  • ATTENTION A BIEN CHOISIR false, null, undefined, Nan
    exemple : test de presence d'une propriete :

    value = myObject[name];
    if (value == null) {
        alert(name+' not found');
    }
    
    • si la prop 'name' n'existe pas, js renvoie 'undefined' au lieu de null
    • le test avec '==' est mauvais

    bonne version :

    value = myObject[name];
    if (value === undefined) {
        alert(name+' not found');
    }