declaración de ramificación Vs micro-ramificación
ramificación de sentencias
Cualquier estructura que altera la secuencia de ejecución dentro del ámbito global o funcional.
Esto incluye:
ifelseswitchforwhile
Las sentencias están diseñadas para ejecutarse de forma no lineal. Además del evidente efecto de hinchazón, la ramificación de sentencias tiende a volverse poco intuitiva a medida que avanza.
micro-ramificación
Lógica condicional contenida dentro de una sentencia que no afecta a la secuencia de ejecución de la sentencia.
Los siguientes operadores facilitan la micro-ramificación:
ternary (<cond> ? a : b)&&||
La lógica fluye secuencialmente de arriba a abajo e incluso de izquierda a derecha. No hay bifurcaciones en el camino. Solo hay una sentencia de retorno y está al final, donde esperamos que esté. Lo mejor de todo es que es corto. Nada se desperdicia. De hecho, es lo suficientemente conciso como para ser apenas procedimental en absoluto.
Las alternativas a la ramificación de sentencias se dividen en dos amplias categorías: micro-ramificación y sin ramificación en absoluto
Estrategias de micro-ramificación
Guardias (&&) y valores predeterminados (||)
//invocar callback si hay unocallback && callback();//retrasar por argumento o 20delayBy(delay || 20);//eliminar el nodo de su padrenode && node.parent && node.parent.removeChild(node);//registrar una prueba en la consola si tenemos unawindow.console && console.log("test");
Algunas cosas tienen un lugar natural. Los pájaros en el cielo, los peces en el mar y una declaración de retorno al final de una función.
https://javascriptweblog.wordpress.com/2010/07/26/no-more-ifs-alternatives-to-statement-branching-in-javascript/