Desglosemos esa línea:
1. b*c: Es la multiplicación del valor de la variable
b
con el de la variable
c
.
2. (a=(2-b)*c): Primero, resta 2 con el valor de la variable
b
y lo multiplica por el valor de la variable
c
para finalmente asignarlo a la variable
a
.
3. ((a=(2-b)*c)<1?a:2-a): Estos son operadores ternarios, los cuales actúan así:
Código Javascript
:
Ver originalcondición ? caso positivo : caso negativo
Es una manera de trabajar con condiciones en una sola línea, en lugar de usar la tradicional estructura
if
.
Entonces, si el valor de la variable
a
(que obtuvimos en el punto anterior) es menor a 1, se tomará el valor de la variable
a
, caso contrario, se tomará el valor resultante de la resta de 2 menos el valor de la variable
a
.
4. b*c/((a=(2-b)*c)<1?a:2-a): Al haber primero multiplicado a
b
por
c
y luego haber evaluado el valor de
a
, dividimos ambos resultados.
Eso es todo.
La manera
extendida sería así:
Código Javascript
:
Ver originalvar aux1 = b * c,
a = (2 - b) * c,
aux2, aux3;
if (a < 1){
aux2 = a;
}
else{
aux2 = 2 - a;
}
aux3 = aux1 / aux2; //Esto es igual a: b*c/((a=(2-b)*c)<1?a:2-a)
Saludos