Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Cómo se lee esto: var param = param || true;

Estas en el tema de Cómo se lee esto: var param = param || true; en el foro de Javascript en Foros del Web. Uhh! Hace un montón que no me paro por aquí! Pero ya estoy de regreso. Pues les traigo un asunto que seguro es de preescolar, ...
  #1 (permalink)  
Antiguo 07/11/2018, 23:12
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 539
Antigüedad: 5 años, 9 meses
Puntos: 19
Pregunta Cómo se lee esto: var param = param || true;

Uhh! Hace un montón que no me paro por aquí! Pero ya estoy de regreso.

Pues les traigo un asunto que seguro es de preescolar, pero la verdad que no logro entenderlo. ¿Podrían ayudarme a entender cómo se lee exactamente la siguiente línea?

Código Javascript:
Ver original
  1. var resultado = variable || true;

¿Qué hace? Hasta donde entiendo, se comprueba la booleanidad de variable, y si resulta que es false en ese caso resultado guarda true.

Pero si éste es el caso, ¿qué sentido tiene esa línea, ya que al final resultado siempre será true?

En este link encuentro una línea semejante a la que puse arriba. Pero como digo, no le entiendo nada de nada.

Saludos!
  #2 (permalink)  
Antiguo 08/11/2018, 00:09
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 223
Antigüedad: 8 años, 1 mes
Puntos: 17
Respuesta: Cómo se lee esto: var param = param || true;

Si la variable existe resultado toma el valor de la variable sino resultado lo pone a true.
__________________
CHOOO COOO LAAA TEEEEEEEEE
  #3 (permalink)  
Antiguo 08/11/2018, 06:30
Avatar de Alexis88
Objetivista
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.424
Antigüedad: 7 años
Puntos: 928
Respuesta: Cómo se lee esto: var param = param || true;

En dicha línea se evalúa si dicha variable se encuentra definida y si posee un valor diferente a false (que puede ser cero), null, undefined, una cadena vacía o un NaN (Not a Number).

Código Javascript:
Ver original
  1. var foo = foo || "La variable 'foo' no existe";
  2. console.log(foo);
  3.  
  4. var a = null;
  5. console.log(a || "El valor de 'a' es nulo");
  6.  
  7. var b = false;
  8. console.log(b || "El valor de 'b' es falso");
  9.  
  10. var c = 0;
  11. console.log(c || "El valor de 'c' es falso (cero)");
  12.  
  13. var d = "";
  14. console.log(d || "El valor de 'd' es una cadena vacía");
  15.  
  16. var e = [].length;
  17. console.log(e || "El valor de 'e' es falso (cero)");
  18.  
  19. var f = "".length;
  20. console.log(f || "El valor de 'f' es falso (cero)");
  21.  
  22. var g = Object.keys({}).length;
  23. console.log(g || "El valor de 'g' es falso (cero)");
  24.  
  25. var h = NaN;
  26. console.log(h || "El valor de 'h' es falso (Not a Number)");

En todos los casos se imprimirá el mensaje respectivo. Más información.

__________________
«Laissez faire et laissez passer, le monde va de lui même»
  #4 (permalink)  
Antiguo 08/11/2018, 19:44
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 539
Antigüedad: 5 años, 9 meses
Puntos: 19
Respuesta: Cómo se lee esto: var param = param || true;

Cita:
Iniciado por Alexis88 Ver Mensaje
En dicha línea se evalúa si dicha variable se encuentra definida y si posee un valor diferente a false (que puede ser cero), null, undefined, una cadena vacía o un NaN (Not a Number)...
Gracias, baldaweb, por responder.

Alexis88, uhhh, veo que sigues presente, vientos por eso! Oye, ¿esa estructura (resultado = variable || true)? Lo pregunto porque tiene un aspecto similar al operador terniario, pero muy muy resumido.

Saludos,



La zona horaria es GMT -6. Ahora son las 05:50.