Foros del Web » Programando para Internet » Javascript »

condicional me da verdadero tenia que ser falso

Estas en el tema de condicional me da verdadero tenia que ser falso en el foro de Javascript en Foros del Web. Hola el problema es exactamente lo que pone en el titulo, este condicional me pone verdadero cuando deberia ser falso. Tengo que comparar dos resultados ...
  #1 (permalink)  
Antiguo 01/07/2016, 04:02
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
condicional me da verdadero tenia que ser falso

Hola el problema es exactamente lo que pone en el titulo, este condicional me pone verdadero cuando deberia ser falso. Tengo que comparar dos resultados pongo el ejemplo.

Código Javascript:
Ver original
  1. if(""==0){
  2.    alert("iguales");
  3. }

yo quiero que esto me de false y me da true, como puedo hacer que funcione, saludos.
  #2 (permalink)  
Antiguo 01/07/2016, 14:17
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: condicional me da verdadero tenia que ser falso

si te devuelve true es porque es true y punto... Nunca me he preguntado cosa triviales en js, en otros lenguajes de progra sí porque sí es necesario...

Pero te repito, si es true es true...
y los dos aprendimos algo nuevo :)
  #3 (permalink)  
Antiguo 01/07/2016, 16:31
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: condicional me da verdadero tenia que ser falso

Hola alvaro_trewhela, sinceramente no me ayudas en nada con tu respuesta, claro que si es true es true pero entonces no hace lo que yo quiero el condicional.

En fin lo solucione pasandole el valor numerico como cadena con comillas.
Código Javascript:
Ver original
  1. if(""=="0"){
  2.    alert("iguales");
  3. }
para lo que quiero me funciona perfectamente, saludos.
  #4 (permalink)  
Antiguo 01/07/2016, 19:35
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: condicional me da verdadero tenia que ser falso

Cita:
Iniciado por azaz Ver Mensaje
Hola alvaro_trewhela, sinceramente no me ayudas en nada con tu respuesta, claro que si es true es true pero entonces no hace lo que yo quiero el condicional.

En fin lo solucione pasandole el valor numerico como cadena con comillas.
Código Javascript:
Ver original
  1. if(""=="0"){
  2.    alert("iguales");
  3. }
para lo que quiero me funciona perfectamente, saludos.
Sí disculpa no te entendí realmente a que apuntaba este tema... emmm en cuanto a tu solución a mi me arroja diferentes.

Lo anterior puede ser por tema de tipo de variables pero que el string vacío sea igual que el string 0 es diferente en ese caso sí sería alarmante, revisa bien el código a mi me arroja diferentes:



Saludos
  #5 (permalink)  
Antiguo 01/07/2016, 20:01
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: condicional me da verdadero tenia que ser falso

Eso sucede por efecto de la coerción de datos en JavaScript, lo cual causa que, en una comparación no estricta, al haber dos valores de diferente tipo, uno de estos sea convertido en un valor equivalente al otro. En este caso, la cadena vacía es equivalente a cero luego de la coerción.

Para comparar estrictamente a dos valores, es decir, comprobar tanto a los valores en sí como a sus tipos de dato, debes utilizar el comparador de igualdad estricta: ===.

Código Javascript:
Ver original
  1. 1 == "1" //true, porque poseen el mismo valor
  2. 1 === "1" //false, porque, el primer valor, es numérico; y el segundo, una cadena

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: condicional, funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:31.