Foros del Web » Programando para Internet » Javascript »

condicion if rapida

Estas en el tema de condicion if rapida en el foro de Javascript en Foros del Web. este codigo: Código HTML: return parametro ? valor1 : valor2 es igual a: Código HTML: if(parametro == condicion) { parametro = valor1 } else { ...
  #1 (permalink)  
Antiguo 18/04/2007, 02:48
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
condicion if rapida

este codigo:

Código HTML:
return parametro ? valor1 : valor2 
es igual a:

Código HTML:
if(parametro == condicion)
{
     parametro = valor1
}
else
{
     parametro = valor2
}
bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #2 (permalink)  
Antiguo 18/04/2007, 03:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: condicion if rapida

Hola:

No es exacto.

La equivalencia sería:

if (parametro) return valor1;
else return valor2;

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 18/04/2007, 03:40
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: condicion if rapida

Hola bichomen

Se te ha pasado algún detalle:
Código:
return (parametro == condicion) ? valor1 : valor2
Edito: tengo que estar más atento a los semáforos Saludos caricatos

Saludos,
  #4 (permalink)  
Antiguo 18/04/2007, 04:12
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Re: condicion if rapida

Osea si parametro es cierto, se retorna el valor 1 y si no valor 2 ok, es que no lo tenia del todo claro

bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #5 (permalink)  
Antiguo 18/04/2007, 04:57
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: condicion if rapida

Cita:
Iniciado por JavierB Ver Mensaje
Hola bichomen

Se te ha pasado algún detalle:
Código:
return (parametro == condicion) ? valor1 : valor2
Edito: tengo que estar más atento a los semáforos Saludos caricatos

Saludos,
Hola Javi:

Lo de los paréntesis no estoy del todo seguro que en este caso sea obligatorio, pero una comparación puede sustituirse simplemente por un valor booleano (true/false)... o sea que si parámetro es uno de esos valores, puede valer sin comparaciones (como puso bichomen)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 18/04/2007, 05:31
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: condicion if rapida

Hola caricatos

Ciertamente funciona igual sin paréntesis. No se por qué tengo costumbre de utilizar siempre paréntesis.

La comparación la puse, porque bichomen preguntaba si:

return parametro ? valor1 : valor2

es igual a:

if(parametro == condicion)

Saludos,
  #7 (permalink)  
Antiguo 18/04/2007, 12:15
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: condicion if rapida

Incluso ésto vi escrito alguna vez:

Código PHP:
var condicion=true;
var 
variable;

condicion?variable="si":variable="no";

alert(variable); 
Así que al parecer, también se admiten instrucciones. Lo que nos permitiría hacer en casos extremos:

Código PHP:
var condicion=true;
var 
variable;

function 
verdadero() {
    
alert("Condicion era true")
}
function 
falso() {
    
alert("Condicion era false")
}

condicionverdadero() : falso(); 
O peores cosas....
Código PHP:
var condicion=true;
var 
variable;

function 
verdadero() {
    
alert("Condicion era true");
}
function 
si() {
    
alert("Que sí que sí, que condicion era true");
}
function 
falso() {
    
alert("Condicion era false");
}

condicion? (verdadero(),si()) : falso(); 

Así que hay pocas limitaciones....



Si hay que opinar, opino que esta es una forma de ensuciar la legibilidad que puede dar esta instrucción, que, a mi modo de ver, es útil para cosas sencillas, pero en cuanto ponemos cosas complicadas no hay nada mejor que el clásico if() else().


Saludos bichomen, caricatos y JavierB!
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 12:47.