Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
February 17, 2022 06:25 pm GMT

Reemplazar Switch por Objetos literales en JavaScript

Probablemente ms de algunos de ustedes habrn escuchado en repetidas ocaciones que suele ser mejor usar Object Literals en lugar de sentencias switch o inclusive if.

Las sentencias switch, son de las primeras cosas que aprendemos cuando entramos al mundo de la programacin, y no, no estn obsoletas. Para muchos programadores JavaScript estamos constantemente trabajando con Objetos y muchos de nosotros empezamos a utilizarlos como un reemplazo a una sentencia switch.

Qu es una sentencia switch?

Nos permite evaluar una expresin, haciendo coincidir el valor de la expresin con una clusula de caso y ejecuta las declaraciones asociadas con ese caso, veamos un ejemplo:

function obtenerPrecio(producto) {  switch (producto) {    case "Naranjas":      return 2;    case "Mangos":      return 2.5;    case "Papayas":      return 3;    default:        return 0  }}obtenerPrecio("Papayas"); // Salida: 3

Podemos observar que es similar a sentencias de tipo if-else, con la diferencia que evala un nico valor.

Qu pasa si olvido un break o return?

El inconveniente ms comn que nos encontramos, es la forma en la que maneja el flujo de control, por ejemplo si nos olvidamos de colocar el 'break' seguir ejecutando las lineas siguientes de cdigo an cuando en nuestra lgica no deban de ser ejecutadas, por ende, estamos obligados a aadir estas pausas. En el siguiente ejemplo, si expresin se resuelve a "Platanos", el algoritmo compara el valor con el case "Platanos" y ejecuta la declaracin asociada. Cuando se encuentra un break, el programa sale del condicional switch y ejecuta la declaracin que lo procede. Si se omite el break, el case "Cerezas" tambin es ejecutado. Este cdigo lo pueden encontrar ac.

switch (expr) {  case 'Naranjas':    console.log('El kilogramo de naranjas cuesta $0.59.');    break;  case 'Manzanas':    console.log('El kilogramo de manzanas cuesta $0.32.');    break;  case 'Platanos':    console.log('El kilogramo de platanos cuesta $0.48.');    break;  case 'Cerezas':    console.log('El kilogramo de cerezas cuesta $3.00.');    break;  case 'Mangos':  case 'Papayas':    console.log('El kilogramo de mangos y papayas cuesta $2.79.');    break;  default:    console.log('Lo lamentamos, por el momento no disponemos de ' + expr + '.');}console.log("Hay algo ms que te quisiera consultar?");

Por qu reemplazarlo por objetos literales?

Como hemos dicho, en JavaScript estamos acostumbrados a utilizar objetos para casi todo, ya sea como constructores o como objetos literales. Nuestros modelos de datos, informacin o variables suelen ser objetos literales de los cuales extraemos valores de sus propiedades.

const productos = {    "naranjas": 2,    "mangos": 2.5,    "papayas": 3,    "default": 0}function obtenerPrecio(producto) {  return productos[producto.toLowerCase()] || productos['default'];}obtenerPrecio("Papayas"); // Salida: 3

Hemos logrado ahorrarnos algunas lneas de cdigo, pero principalmente hemos conseguido mayor legibilidad y no tenemos que preocuparnos por escribir pausas en el cdigo.


Original Link: https://dev.to/jfernandogt/reemplazar-switch-por-objetos-literales-en-javascript-4hfk

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To