2010-06-02 5 views
3

Il est bien connu quePourquoi typeof null se comporte mal dans les instructions switch?

typeof null 

renvoie "objet".

Cependant, j'ai un morceau de code qui ressemble à ceci:

switch(typeof null){ 
    case "object": 
     1; 
    default: 
     3; 
} 

Ce code renvoie 3.

Pourquoi « objet » tel qu'il est retourné par typeof null provoque pas la première branche du déclaration de cas à exécuter?

Répondre

9

Vous êtes absent break pour le premier cas - il tombe jusqu'à la default cas et renvoie 3.

switch(typeof null){ 
    case "object": 
     1; 
     break; 
    default: 
     3; 
} 
+0

Une erreur classique! Merci – dta

Questions connexes