Ver Mensaje Individual
  #7 (permalink)  
Antiguo 05/05/2012, 13:55
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: Duda con switch en JS

buenas,
@avend. tal como te indican, no se puede usar un operador de comparación en un case. en realidad si puedes usarlo pero no tiene el resultado que esperas. en un switch/case se compara el switch directamente con el case, y solo si coincide entonces se interpreta el bloque. cuando tu usas un operador comparativo, independientemente donde lo apliques, el resultado es un valor booleano. por tanto, en un switch/case estarías comparando el valor con un boolean. fíjate que no es lo mismo que un if, el cual se interpreta si la condición es cierta.

Código:
var value = 0;
switch(value){
case value > 0: console.log('mayor que 0'); break; // no se interpreta porque 0 != false
case value < 0: console.log('menor que 0'); break; // no se interpreta porque 0 != false
case value == 0: console.log('igual a 0'); break; // no se interpreta porque 0 != true
case 0: console.log('0'); break; // se interpreta porque se compara value con 0 y son iguales
}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.