Foros del Web » Programando para Internet » Javascript »

if(a===0 || 1) es igual a if(a===0 || a===1)

Estas en el tema de if(a===0 || 1) es igual a if(a===0 || a===1) en el foro de Javascript en Foros del Web. Hola chicos que tal como va todo pues bueno tengo un problema y es que he visto que aveces abrevian los if pero cuando yo ...
  #1 (permalink)  
Antiguo 19/11/2013, 09:42
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 12 años
Puntos: 2
if(a===0 || 1) es igual a if(a===0 || a===1)

Hola chicos que tal como va todo pues bueno tengo un problema y es que he visto que aveces abrevian los if pero cuando yo intento hacerlo (de la forma que yo entiendo) no me funciona como quiero asi que me toca dejarlos de la forma larga y original. Tambien intente hacer una validación asi:
Código Javascript:
Ver original
  1. //codigo que no funciona bn pero esta bn estructurado segun mi logica!!
  2. if(b===c || c===a)
  3.     console.log('alguno de los dos es igual');
  4. else
  5.    console.log('no son iguales');
pero inclusive cuando en php me salia la opcion verdadera('alguno de los dos son iguales') en javascript no pasaba lo mismo. Por error en el codigo en uno deje dos = en ves de los tres que normalmente pongo y OH SORPRESA ahi si funciono. Entonces los === son para una validacion sencilla(que no tenga ningun || o &&) y con == es para cuando ya tenga mas objetos a validar(|| o &&)
Código Javascript:
Ver original
  1. // ahora si funciona bn pero solo con == en ves de los ===
  2. if(b==c || c==a)
  3.     console.log('alguno de los dos es igual');
  4. else
  5.    console.log('no son iguales');

y en que se diferencian estos dos
Código Javascript:
Ver original
  1. if(b==5 || b==2)
  2.    console.log('ok ahi algo');
  3.  
  4. /**********************a este**********/
  5. if(b==5 || 2)
  6.    console.log('ok ahi algo');

como los volveria iguales?

Gracias y por cierto no me den link de google o por favor busca en google que creanme que me tomo la molestia de hacer una buena pregunta Gracias :D
  #2 (permalink)  
Antiguo 19/11/2013, 09:55
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 3 meses
Puntos: 578
Respuesta: if(a===0 || 1) es igual a if(a===0 || a===1)

== hace una simple comparación. === hace una comparación estricta, quiere decir que comprueba que coinciden los valores y además son del mismo tipo... Hay bastante lío con eso. Un ejempo muy claro:

Código:
1 == '1' // true
1 === '1' // false

0 == false // true
0 === false // false
Como ves se interpretan igual a la hora de hacer la comparación pero sus tipos son diferentes. (Number y String, Number y Boolean).

No influyen para nada en el uso de operadores lógicos.

Última edición por PHPeros; 19/11/2013 a las 13:30
  #3 (permalink)  
Antiguo 19/11/2013, 13:46
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses
Puntos: 206
Respuesta: if(a===0 || 1) es igual a if(a===0 || a===1)

Te recomiendo esta lectura.
http://www.etnassoft.com/2011/01/26/...en-javascript/
Guarda ese blog en favoritos, y échale un vistazo a sus artículos de javascript, aprenderás mucho.
  #4 (permalink)  
Antiguo 20/11/2013, 22:38
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 12 años
Puntos: 2
Respuesta: if(a===0 || 1) es igual a if(a===0 || a===1)

ammm ok chicos pero es que la segunda parte de este post no me ayudaron mucho es la forma
Código Javascript:
Ver original
  1. if(b==5 || b==2)
  2.        console.log('ok ahi algo');
  3.      
  4.     /**********************a este**********/
  5.     if(b==5 || 2)
  6.        console.log('ok ahi algo');
esto como seria o como funcoina :D
  #5 (permalink)  
Antiguo 21/11/2013, 08:18
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 3 meses
Puntos: 578
Respuesta: if(a===0 || 1) es igual a if(a===0 || a===1)

Debes poner la expresión completa con == o === (ya expliqué antes para qué servía cada cual).

Cita:
// Mal:
if (b == 5 || 2)
De esta forma el 2 se queda sólo y siempre equivale a true, por lo tanto si se incumple que "b==5", pasará a la siguiente expresión (que es verdadera) y siempre se ejecutará el código dado.

Espero haberme explicado.

Última edición por PHPeros; 21/11/2013 a las 08:24

Etiquetas: funcion, igual, php
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 03:02.