Hay que decir que en programación TODO tiene un costo, y no se menciona en este video. En este caso, estamos favoreciendo legibilidad, sí, pero el costo es que tenemos una variable más (LOKI_DISFRACES) que ocupa espacio en memoria, y a medida que esta variable aumenta, aumenta el espacio en memoria. Si bien esto en computadoras modernas podría ser insignificante, existe. Por ende "buenas prácticas" es muy relativo. Si vas a trabajar con javascript en microcontroladores que tienen poca memoria, esto no necesariamente es una buena práctica. TODO tiene un costo, y una habilidad importante como desarrollador es determinar cuál es el costo que nos conviene pagar.
el switch es pas pesado que el if.. si vamos a ocupar memoria en procesamiento entonces se ponen 3 if y es mas rapido... pasa lo mismo con PHP y sizeof y count.. una es alias de la otra y a nivel de ejecucion hay diferencias en procesamiento
Sos un gran docente, hace falta mas gente como vos para que mas personas le tomen amor a la programación. Felicidades y ojalá tuvieras una lista de reproducción de buenas practicas.
Me salían tus vídeos en recomendados pero no los miraba, me dio por entrar a este video y la verdad uff, ha cambiado mi perspectiva, supongo que usaba el switch porque es lo que uno lee en la teoría que sirve para varias decisiones, uno se acostumbra tanto a la teoría que no le damos espacio a la creatividad de simplificar las cosas, muchas gracias amigo, me haz dado una perspectiva diferente.
Tremendo, muy bueno , hice lo tu video en un ejercicio y he reducido a la mitad el código. Saludos function pairElement(str) { const DNA={ "A":"TA", "T":"AT", "C":"GC", "G":"CG" } str=str.split('') return str.map(x=>[DNA[x]]) } console.log(pairElement("GCG"));
Quier decir que la verdad el video esta super bien explicado me encanta simplificar codigo y dejarlo de manera que se pueda leer y modificar con fasilidad, aca hice un ejemplo utilizando func, pasa que en c# creo que le tengo que rebuscar: static string adversario= "Iron-Man"; static string loki = string.Empty; public static void Sin_Switch_ni_If() { Dictionary LOKI_DISFRACES = new Dictionary(); LOKI_DISFRACES.Add("Iron-Man", "Magneto"); LOKI_DISFRACES.Add("Thor", "Odin"); LOKI_DISFRACES.Add("Hulk", "Thanos") Console.WriteLine("{0} vs Loki-{1}", adversario, LOKI_DISFRACes(LOKI_DISFRACES)); } public static Func LOKI_DISFRACes = (x) => { return (x.TryGetValue(adversario, out loki) == false) ? "Loki" : loki; };
Es genial ver este tipo de videos, me encanta aprender de mejores prácticas y esto se explica de manera sencilla y tremendamente didáctica, ojalá puedas seguir subiendo videos de este estilo! gracias midudev!
Tengo algunos problemas en el uso de un objeto literal en lugar de un switch: - Es más lento (casi nada, pero aplicaciones de alto rendimiento se ven beneficiadas con switch) - Require una variable auxiliar para el default (require entender más código para mantenimiento) - Más verboso, por lo mismo del caso anterior. Para ejecutarlo hay que llamar al objeto, y a la variable auxiliar. - Memory allocation (el switch en un método se ejecuta dentro del stack, pero un objeto literal se almacena en el heap, y luego el GC tendrá que encargarse. Los lenguajes de alto nivel nos dejan trabajar sin pensar en ello, pero cuando tenemos mucha gente usando un sistema/servicio cada byte/ciclo afecta a la realción costo/ganancia) - Un objeto literal compacta todo el código naturalmente, switch lo estructura naturalmente. Esto depende del programador al final, pero realmente nunca vi menos legible el switch, aunque creo que es cuestión de gustos. Incluso switch indica cual es el punto de entrada, antes si quiera de separar el comportamiento. - Agrupar más de un caso requiere más código, cuando en switch los casos se pueden poner uno a continuación del otro. Al omitir el break, switch permite ejecutar varios casos a la vez. - No se pueden usar otras variables u objetos como caso para comparar (suele ser útil muchas veces) Usar un objeto literal tiene como ventaja: - Ser dinámico. No es una necesidad en la mayoría de los casos, pero en algunos poder añadir más casos al vuelo, puede ser necesario, y el switch no es útil ahí. - Aceptar proxys (no me acuerdo del nombre del diseño realmente). Pero es útil poder separar la lógica del negocio, de otros controles como puede ser el logging, o formateo de datos, etc. No creo que usar objetos sea un mal enfoque realmente. Creo que hay que saber en cada caso si realmente es necesario, y si la aplicación se beneficia a todos los niveles de la implementación.
Debo admitir que he visto este video 3 veces , en un lapso de un mes. Siempre sin entender, pero después de haber resuelto unos problemas sobre objetos finalmente lo entendí. La calidad de la información no fue el problema, ya que está presentado de manera top. Mi falta de conocimiento fue el problema. Gracias desde 🇵🇦
eliminaría mucho de código en redux!! ya lo hago para en otras cosas pero en reducers me lio . Y ya por 100k macho, en hora buena y mis mas sinceros respetos crack!! No solo saber, tener pedagogía para enseñar , transmitir y querer mas
Aun no se estrena pero ya le di Like! Pendiente de tus videos! Si todo sale bien entro a trabajar de Frontend con react asi que estos videos me vienen bien! Gracias
Para el ejemplo puede mejorar la lectura del código, pero en rendimiento es peor, el tiempo de acceso a los elementos de un arreglo es mayor que una comparación que es lo que hace un switch, pese a lo que muchos piensen un switch es una estructura de control integrada en el propio lenguaje tanto como un if o un for.
GENIAL!! No uso mucho Java pero para hacer algo parecido me mataba haciendo condicionales anidadas o un bucle con dos arrays (uno de "entradas" y otro de resultados o "salidas") ya que solo podía buscar por posiciones numéricas y no por nombre de la posición como en este video. Gracias por brindarnos estos tips.
Esta super la idea-- definitivamente me pasa que hago muchas condicionales asi y despues a parte de que es mucho codigo es dificil agregar o quitar algo-- Gracias-- definitivamente me sera util-- saludos--
Me parece cool el approach, aunque me gustaría el contraste desde el punto de vista en el performance o memoria… se entiende que prácticamente todo lo que vemos son operaciones que son instantánea… pero no se me parece cool ver esa comparación nivel. Muchas buenas vibras.
Al principio ley el título del vídeo y me enojé! Porque siempre pensaba que reemplazar los ifs por switch era lo mejor, xD pero ya cuando te das cuenta que la idea no es usar ifs. Que locura y que increíble!!
En serio que estos videos ayudan muchisimo a personas que recien inician y tambien a los que vienen programando... se aprende muy buenas practicas!!,. un saludo crack desde Perú.
Todo lo contrario viejo, los recién iniciados deben aprender a usar las sentencias básicas para después poder entrar a estructuras de datos y aprender a evaluar cuándo usar cada tipo.
Me parece increíble que esto fuera lo que hoy me ha dejado pensativo, no he podido pensarlo en el curro en condiciones y ahora llegas tú y literalmente me solucionas la vida, eres el Mesías, mim gracias Midu, un héroe siempre 🎉
Maestro.. Buena... yo también so devoto del switch.. Pero todavía me cuesta entender la POO.. Soy de la guarda dinosauria.... hehehe (mi primer lenguaje fue basic en DOS) Pero sí, está buen esta manera de afrontar.. una... reduces código.. dos.. más legible. Puntazo....
Hoy hice mi segundo ejercicio y use switch jajaja igual estoy empezando llevo dos semanas. Necesita designar a cada día de la semana un número. Y Vi que con switch se podía . Aún no me se muchos comandos pero de a poco se aprende muchachos.
Justo ahora tenia un problema que no tenia idea de como solucionarlo, gracias a ti lo pude solucionar en 5 min. Gracias por compartir tu conocimiento! me salvaste de hacer 10 if else o switch jajajaj
Me encanta este formato de videos, con temas/conceptos especificos y que van sumando a los conocimientos que se tienen, ademas que son puntuales y de no tan larga duración, excelente aporte, genio!
midudev podrias hablar en un futuro video sobre children as function? como afectan el performance, si es recomendable segun en que casos. Esto lo pregunto por la primera vez que vi formik. Gracias!! {({ loading, saludar }) => ( {loading ? "Cargando.." : "Finalizo..!!"} )}
El título no me hace sentido, el argumento para no usar SWITCH es que puedes usar un objeto ? el switch de hecho debería, a mi entender ser más usado ya que es más expresivo que un if, no me confundas, gracias por el aporte, en ese caso que tienes en el video es válido, al menos debiste aclararlo al final, ya que puedes confundir a los que inician, usar switch es bueno, moderadamente, como todo, gracias por compartir midudev.
Me acabas de motivar categóricamente a continuar aprendiendo a programar. Estoy aprendiendo Python, acabo de ver diccionarios y justamente pensé en hacer lo que nos estás mostrando :) me siento feliz 😄
Yo uso ambos. Hay casos que tiran más hacia un diccionario (como es el caso del vídeo), pero otros en los que no usar break para aglutinar varios cases y tener un único comportamiento, es más feo hacerlo con un diccionario. Otra cosa a favor del switch es el default que, si bien se puede simular como se hace en el vídeo, puede que haya casos en los que el valor "devuelto" en un case sea undefined y usando un diccionario no habría forma de saber si ha cumplido la condición (al menos tal cual se comprueba en el vídeo). La forma correcta para comprobar el caso por defecto con un diccionario sería mirando si la condición se encuentra entre las claves del objeto (Object.keys(LOKI_DISFRACES).includes(adversario)) y la elegancia que se gana con el mapa, se pierde en la comprobación del caso por defecto y tiene una sintaxis más fea y menos legible que con el switch. Otra cosa del switch es que "se ve" y sabes que ahí hay un un punto donde la lógica puede tomar N decisiones. El mapa "oculta" eso y a veces no es bueno si lo importante es buscar rápidamente en el código "el típico switch" donde se decide qué hacer. En casos simples y directos como los del vídeo usaría sin dudar el mapa, pero en otros creo que el switch deja más claro sus intenciones.
No termino de verlo como consejo general: switch y object son cosas diferentes que cumplen propósitos diferentes. Y usar un diccionario, en lugar de un switch no es necesariamente hacer código más legible... aunque puede que en este ejemplo seleccionado, tenga buen encaje (especialmente si también quiere reutilización del diccionario, como menciona en el vídeo)
Efectivamente es un ejemplo. La lectura es al revés. No digo que no uses nunca Switch. Digo que existe un uso que se le da a switch que es mejor usar un objeto. Y este caso es bastante repetido ya que casi todos los enums en JavaScript se convierten a switch/case.
👍 totalmente de acuerdo. Esto es una forma de evitar switch en un tipo de caso concreto. Que suele ser habitual pero no siempre es para dejar de usar switch.
@@midudev xd a mi el switch me parece una mrd, y con este video, creo q mas nunca lo usaré xD... algún ejemplo donde si toque estrictamente usar un switch ? a mi ni se me ocurre, soy NOOB cabe recalcar
buah, no sabía que es tan pero taaaaan extenso el javascript, de momento aún me cuesta en mi curso este lenguaje entre otros más pero es muy bueno si aprendo a usarlo pronto. Genial para cuando vaya de prácticas en empresa cuando encuentre para este Marzo.
Es curioso. Nunca había pensado en esta posibilidad . Pero usando objetos javascript sustituyes a switch. Hasta podría servir para php. Gracias por la sugerencia.
Hola! Oye estaría bien que explicarás cuales son los patrones que usas y así se aprende un poco más de teoría :D (Es este caso la factoría). PD: Parece mejor solución un "Optional chaining operator" que la ternaria, algo tal que así: "const loki = LOKI_DISFRACES[adversario]?.() || LOKI_DEFAULT_DISFRAZ". Buen video! :D
Gracias, complementando lo que escribiste podríamos escribir : "const loki = LOKI_DISFRACES[adversario]?.() || 'Loki' Nos ahorraríamos el definir LOKI_DEFAULT_DISFRAZ , ahorrar tiempo y espacio de memoria c:
Yo el switch lo veo super legible. Es muy cómodo y versátil. Entiendo que para este caso si valdría el ejemplo que pone Midu. creo que para otros casos mas complejos el switch es una buena opción.
SUSCRÍBETE a mi canal de RUclips 👇
👉 ruclips.net/user/midudev
Me gusta, tu video por la calidad de audio, video y los colores no tan fuerte y agradable.🍫🍫🍫🔥🔥🇩🇴🇩🇴🇩🇴🇩🇴
ya quiero el video siguiente xD
Que theme estas utilizando para este video, se ve muy comodo y practico
Hay que decir que en programación TODO tiene un costo, y no se menciona en este video.
En este caso, estamos favoreciendo legibilidad, sí, pero el costo es que tenemos una variable más (LOKI_DISFRACES) que ocupa espacio en memoria, y a medida que esta variable aumenta, aumenta el espacio en memoria.
Si bien esto en computadoras modernas podría ser insignificante, existe.
Por ende "buenas prácticas" es muy relativo.
Si vas a trabajar con javascript en microcontroladores que tienen poca memoria, esto no necesariamente es una buena práctica.
TODO tiene un costo, y una habilidad importante como desarrollador es determinar cuál es el costo que nos conviene pagar.
A typescript no le gusta esta buena práctica
Javascript en microcontroladores??????
@@firelordozai5719 si, ha llegado tambien a ese mundo, informate. hay una bibliotoca para todo.
Arreglado:
const loki = LOKI_DISFRACES[adversario] || 'Loki'
el switch es pas pesado que el if.. si vamos a ocupar memoria en procesamiento entonces se ponen 3 if y es mas rapido... pasa lo mismo con PHP y sizeof y count.. una es alias de la otra y a nivel de ejecucion hay diferencias en procesamiento
Sos un gran docente, hace falta mas gente como vos para que mas personas le tomen amor a la programación. Felicidades y ojalá tuvieras una lista de reproducción de buenas practicas.
¡Buenísimo este formato y estos tips midu!!!! 👏👏👏
Me salían tus vídeos en recomendados pero no los miraba, me dio por entrar a este video y la verdad uff, ha cambiado mi perspectiva, supongo que usaba el switch porque es lo que uno lee en la teoría que sirve para varias decisiones, uno se acostumbra tanto a la teoría que no le damos espacio a la creatividad de simplificar las cosas, muchas gracias amigo, me haz dado una perspectiva diferente.
x2
Me encanta
Excelente Gloria! 🤗
Me sirvió muchisimo el tip, pase de casi 60 lineas de codigo a 27, y con el código mucho mas legible y ordenado. Muchas gracias Midu.
Esooooo!!! 🤗
Yo tenia el mismo problema con el SWITCH, tenia que escribir varias lineas por cada condicion; buen video xd
Midu eres un grande!!!
Hice lo mismo pero en php para un proyecto y me ahorraste lineas y lineas de codigo repetido!
Bueno, tambien me ayudo un poco copilot... hizo lo que tenia en mente! xdd
Tremendo, muy bueno , hice lo tu video en un ejercicio y he reducido a la mitad el código. Saludos
function pairElement(str) {
const DNA={
"A":"TA",
"T":"AT",
"C":"GC",
"G":"CG"
}
str=str.split('')
return str.map(x=>[DNA[x]])
}
console.log(pairElement("GCG"));
Es el video que más he revisado de toda tu lista; es simple, legible, minimalista y elegante.
Gracias!
Quier decir que la verdad el video esta super bien explicado me encanta simplificar codigo y dejarlo de manera que se pueda leer y modificar con fasilidad,
aca hice un ejemplo utilizando func, pasa que en c# creo que le tengo que rebuscar:
static string adversario= "Iron-Man";
static string loki = string.Empty;
public static void Sin_Switch_ni_If()
{
Dictionary LOKI_DISFRACES = new Dictionary();
LOKI_DISFRACES.Add("Iron-Man", "Magneto");
LOKI_DISFRACES.Add("Thor", "Odin");
LOKI_DISFRACES.Add("Hulk", "Thanos")
Console.WriteLine("{0} vs Loki-{1}", adversario, LOKI_DISFRACes(LOKI_DISFRACES));
}
public static Func LOKI_DISFRACes = (x) =>
{
return (x.TryGetValue(adversario, out loki) == false) ? "Loki" : loki;
};
Es genial ver este tipo de videos, me encanta aprender de mejores prácticas y esto se explica de manera sencilla y tremendamente didáctica, ojalá puedas seguir subiendo videos de este estilo! gracias midudev!
Cuenta con ello!!
Tengo algunos problemas en el uso de un objeto literal en lugar de un switch:
- Es más lento (casi nada, pero aplicaciones de alto rendimiento se ven beneficiadas con switch)
- Require una variable auxiliar para el default (require entender más código para mantenimiento)
- Más verboso, por lo mismo del caso anterior. Para ejecutarlo hay que llamar al objeto, y a la variable auxiliar.
- Memory allocation (el switch en un método se ejecuta dentro del stack, pero un objeto literal se almacena en el heap, y luego el GC tendrá que encargarse. Los lenguajes de alto nivel nos dejan trabajar sin pensar en ello, pero cuando tenemos mucha gente usando un sistema/servicio cada byte/ciclo afecta a la realción costo/ganancia)
- Un objeto literal compacta todo el código naturalmente, switch lo estructura naturalmente. Esto depende del programador al final, pero realmente nunca vi menos legible el switch, aunque creo que es cuestión de gustos. Incluso switch indica cual es el punto de entrada, antes si quiera de separar el comportamiento.
- Agrupar más de un caso requiere más código, cuando en switch los casos se pueden poner uno a continuación del otro. Al omitir el break, switch permite ejecutar varios casos a la vez.
- No se pueden usar otras variables u objetos como caso para comparar (suele ser útil muchas veces)
Usar un objeto literal tiene como ventaja:
- Ser dinámico. No es una necesidad en la mayoría de los casos, pero en algunos poder añadir más casos al vuelo, puede ser necesario, y el switch no es útil ahí.
- Aceptar proxys (no me acuerdo del nombre del diseño realmente). Pero es útil poder separar la lógica del negocio, de otros controles como puede ser el logging, o formateo de datos, etc.
No creo que usar objetos sea un mal enfoque realmente. Creo que hay que saber en cada caso si realmente es necesario, y si la aplicación se beneficia a todos los niveles de la implementación.
Corto y muy práctico... voy corriendo a ver donde elimino switchs en mis proyectos... saludos desde Ecuador
Debo admitir que he visto este video 3 veces , en un lapso de un mes.
Siempre sin entender, pero después de haber resuelto unos problemas sobre objetos finalmente lo entendí.
La calidad de la información no fue el problema, ya que está presentado de manera top. Mi falta de conocimiento fue el problema.
Gracias desde 🇵🇦
Investigue qué es el patrón estrategia, le aseguro que es aún mejor solución
Impecable!! animate a hacer mas videos de este tipo, son muy necesarios, es de lo que falta!
eliminaría mucho de código en redux!! ya lo hago para en otras cosas pero en reducers me lio . Y ya por 100k macho, en hora buena y mis mas sinceros respetos crack!! No solo saber, tener pedagogía para enseñar , transmitir y querer mas
Me encantaría poder ver más consejos de este estilo. Sólo con estos dos videos me he ahorrado mucho trabajo a futuro 😊
Hace unos meses descubrí esta función y flipe en colores!! Un código mucho más limpio y simple
es un caso especial. Para otras operaciones solo serviria un "if else " o el switch
Genial, no me gustaban los if y estaba usando switch. Ahora voy a usar esta tecnica. Gracias¡
pero piensa que este método es mucho más costoso computacionalmente.
Excelente... nos viene muy bien para los que seguimos aprendiendo JS estos videos de buenas prácticas... Gracias midu
Mil gracias!! Justo hoy he usado un switch case que mañana mismo voy a cambiar!! 😋
Aun no se estrena pero ya le di Like! Pendiente de tus videos! Si todo sale bien entro a trabajar de Frontend con react asi que estos videos me vienen bien! Gracias
Para el ejemplo puede mejorar la lectura del código, pero en rendimiento es peor, el tiempo de acceso a los elementos de un arreglo es mayor que una comparación que es lo que hace un switch, pese a lo que muchos piensen un switch es una estructura de control integrada en el propio lenguaje tanto como un if o un for.
No es un array, es un objeto.
Para este caso definitivamente si. Para definir lógica en cada caso ahí si le daría la mano al Switch :). Excelente, claro y al grano!
GENIAL!! No uso mucho Java pero para hacer algo parecido me mataba haciendo condicionales anidadas o un bucle con dos arrays (uno de "entradas" y otro de resultados o "salidas") ya que solo podía buscar por posiciones numéricas y no por nombre de la posición como en este video. Gracias por brindarnos estos tips.
Uuuf, Brutal este contenido que aportas es genial, grande Midu Gracias por aportar tus conocimientos y a por los 100K 📈↗💹
Vamoooooos!! Gracias Ronaldo!!! Poco a poco nos vamos acercando!!! :)
Esta super la idea-- definitivamente me pasa que hago muchas condicionales asi y despues a parte de que es mucho codigo es dificil agregar o quitar algo-- Gracias-- definitivamente me sera util-- saludos--
Me parece cool el approach, aunque me gustaría el contraste desde el punto de vista en el performance o memoria… se entiende que prácticamente todo lo que vemos son operaciones que son instantánea… pero no se me parece cool ver esa comparación nivel. Muchas buenas vibras.
Buenísimo! , más contenido como este para que novatos autodidactas dejemos de ser novatos
Cuenta con ello Jordi!
Al principio ley el título del vídeo y me enojé! Porque siempre pensaba que reemplazar los ifs por switch era lo mejor, xD pero ya cuando te das cuenta que la idea no es usar ifs. Que locura y que increíble!!
En serio que estos videos ayudan muchisimo a personas que recien inician y tambien a los que vienen programando... se aprende muy buenas practicas!!,. un saludo crack desde Perú.
Todo lo contrario viejo, los recién iniciados deben aprender a usar las sentencias básicas para después poder entrar a estructuras de datos y aprender a evaluar cuándo usar cada tipo.
Me encantó, creo que una vez hize algo parecido pero explicado así veo claramente el pattern, lo voy a usar seguramente. Gracias!!
Me parece genial.. El que hagas un video sobre la mejor manera de escribir código JS.. Eres un crack tío!
excelente video estoy comenzando en la programación y lo que mas me falta son buenas practicas para tener mi código mas legible
Muy bueno!!! Sencillo, simple, corto, y altamente funcional!!
Wow!, es impresionante como informó tan bien y de manera clara una nueva técnica en tan poco tiempo. Ya me imagino que sus cursos son muy buenos.
llevo rato viendo en tus videos que no te gustaban los switch y ahora que vi este video, entiendo completamente el porque!! Grande Midu!!
Que bueno! Ojala traigas mas consejos asi.
yo creo que no hay nada mejor que las estructuras, tienes todo tan bien organizado, suelen incluso hasta mejorar el rendimiento, son geniales!
A mi nunca me ha gustado el switch, siempre habia pensado en arrays o en otras estructuras de datos para sustituirlos. Excelente video!.
Me parece increíble que esto fuera lo que hoy me ha dejado pensativo, no he podido pensarlo en el curro en condiciones y ahora llegas tú y literalmente me solucionas la vida, eres el Mesías, mim gracias Midu, un héroe siempre 🎉
Maestro..
Buena... yo también so devoto del switch..
Pero todavía me cuesta entender la POO..
Soy de la guarda dinosauria.... hehehe (mi primer lenguaje fue basic en DOS)
Pero sí, está buen esta manera de afrontar.. una... reduces código.. dos.. más legible.
Puntazo....
Excelente tutorial, me gustaría que ahondaras mas en el uso de funciones y objetos con esta buena práctica
Hoy hice mi segundo ejercicio y use switch jajaja igual estoy empezando llevo dos semanas.
Necesita designar a cada día de la semana un número.
Y Vi que con switch se podía .
Aún no me se muchos comandos pero de a poco se aprende muchachos.
Me he quedado sin palabras. GRACIAS!
Buena idea para utilizar un diccionario. Muchas veces conocemos las herramientas pero no contamos con la creatividad o practicidad para utilizarlas.
Justo ahora tenia un problema que no tenia idea de como solucionarlo, gracias a ti lo pude solucionar en 5 min. Gracias por compartir tu conocimiento! me salvaste de hacer 10 if else o switch jajajaj
Me encanta este formato de videos, con temas/conceptos especificos y que van sumando a los conocimientos que se tienen, ademas que son puntuales y de no tan larga duración, excelente aporte, genio!
Sí, ¡más videos de estos! Son el tipo de contenido que nos permiten llevar nuestro código al siguiente nivel 🙌
midudev podrias hablar en un futuro video sobre children as function? como afectan el performance, si es recomendable segun en que casos. Esto lo pregunto por la primera vez que vi formik. Gracias!!
{({ loading, saludar }) => (
{loading ? "Cargando.." : "Finalizo..!!"}
)}
Me encantan estos nuevos videos con tips rápidos y fáciles de entender, gracias!!!
El título no me hace sentido, el argumento para no usar SWITCH es que puedes usar un objeto ? el switch de hecho debería, a mi entender ser más usado ya que es más expresivo que un if, no me confundas, gracias por el aporte, en ese caso que tienes en el video es válido, al menos debiste aclararlo al final, ya que puedes confundir a los que inician, usar switch es bueno, moderadamente, como todo, gracias por compartir midudev.
Acabo de cambiar un par de switch y queda precioso.
Muy pro excelente practica deberías hacer mas sobre este tema muchas gracias :)
Me acabas de motivar categóricamente a continuar aprendiendo a programar. Estoy aprendiendo Python, acabo de ver diccionarios y justamente pensé en hacer lo que nos estás mostrando :) me siento feliz 😄
Que curioso, ya había visto este articulo en una publicación, es bastante escuchar una explicación.
Yo uso ambos. Hay casos que tiran más hacia un diccionario (como es el caso del vídeo), pero otros en los que no usar break para aglutinar varios cases y tener un único comportamiento, es más feo hacerlo con un diccionario. Otra cosa a favor del switch es el default que, si bien se puede simular como se hace en el vídeo, puede que haya casos en los que el valor "devuelto" en un case sea undefined y usando un diccionario no habría forma de saber si ha cumplido la condición (al menos tal cual se comprueba en el vídeo). La forma correcta para comprobar el caso por defecto con un diccionario sería mirando si la condición se encuentra entre las claves del objeto (Object.keys(LOKI_DISFRACES).includes(adversario)) y la elegancia que se gana con el mapa, se pierde en la comprobación del caso por defecto y tiene una sintaxis más fea y menos legible que con el switch.
Otra cosa del switch es que "se ve" y sabes que ahí hay un un punto donde la lógica puede tomar N decisiones. El mapa "oculta" eso y a veces no es bueno si lo importante es buscar rápidamente en el código "el típico switch" donde se decide qué hacer. En casos simples y directos como los del vídeo usaría sin dudar el mapa, pero en otros creo que el switch deja más claro sus intenciones.
Excelente Midu! Super efectivo
No termino de verlo como consejo general: switch y object son cosas diferentes que cumplen propósitos diferentes. Y usar un diccionario, en lugar de un switch no es necesariamente hacer código más legible... aunque puede que en este ejemplo seleccionado, tenga buen encaje (especialmente si también quiere reutilización del diccionario, como menciona en el vídeo)
Efectivamente es un ejemplo. La lectura es al revés. No digo que no uses nunca Switch. Digo que existe un uso que se le da a switch que es mejor usar un objeto. Y este caso es bastante repetido ya que casi todos los enums en JavaScript se convierten a switch/case.
Esos videos que valen oro y te enseñan más de lo que proponen. Increible Midu como siempre, Gracias!
Me acaba de recomendar este vídeo RUclips y me he tenido que suscribir porque me parece muy interesante y muy didáctico el contenido. 👍
Ya lo habia visto en algun otro lado, pero ahora me ha quedado mas claro.
Estas pildoras son las que hacen que tu codigo marque la diferencia. Me encantan estos tips
Para el caso que ilustras sí, pero los switch statements pueden ser muy útiles en ciertos casos.
👍 totalmente de acuerdo. Esto es una forma de evitar switch en un tipo de caso concreto. Que suele ser habitual pero no siempre es para dejar de usar switch.
@@midudev xd a mi el switch me parece una mrd, y con este video, creo q mas nunca lo usaré xD... algún ejemplo donde si toque estrictamente usar un switch ? a mi ni se me ocurre, soy NOOB cabe recalcar
Bro esta genial que tengas una sección de buenas practicas!
🤙Gracias Kev! Seguiremos!
genial, justo que estaba buscando una forma de reducir líneas, haz llegado tú con el video!!
Uhh interesante, ahora si puedo entender varias cosas como por ejemplo el uso de formik
Yo que hacia todo a punta de switch e ifs...gracias ..acabo de aprender algo nuevo
buah, no sabía que es tan pero taaaaan extenso el javascript, de momento aún me cuesta en mi curso este lenguaje entre otros más pero es muy bueno si aprendo a usarlo pronto. Genial para cuando vaya de prácticas en empresa cuando encuentre para este Marzo.
Grandioso, algo mas que aprender. Gran Tutorial.
¡Muy bien explicado, muchas gracias!!
¡Buenísimo!, me funcionó perfecto, fue fácil de entender y lo apliqué rápidamente en mi proyecto.
Geniaaaaaal 😍😍😍
Excelente amigo. Muy elegante la alternativa que propones.
Me parece genial midu,muchas gracias, definitivamente me falta mucho por aprender.
Todos estamos aprendiendo!
wow buena metodologia, siempre se me olvidaba esa forma de resolver problemas ahora creo que lo recordare mejor.
Eres un crack amigo midudev, gracias por el video un gusto aprender de los grandes como tú, saludos.
Yo no uso switch, yo uso ternarias anidadas (muchas ternarias)
Grandes trucos lo use en el ultimo proyecto pero no lo había entendido muy bien.
Muy útil estos tips, muchas gracias!
excelente contendido y manera de explicar ,seria genial tener un video mas sobre esta manera de optimizar y trabajar con js
GENIAL!!!!!!! 👏👏👏👏👏👏
Muchísimas gracias brother.
Esperamos más contenido similar
Bendiciones!
Mindblowing, me emocioné xd por favor, continua con estos videos de buenas practicas >
Sos un genio! pequeñas cosas que hacen la diferencia. No dejes de hacer estas secciones ! Por casualidad tenés algún curso avanzado de react?
Que gran sección!!!!, No la dejes pls
Una idea muy sencilla pero que muchos hemos pasado por alto. Muy interesante con el uso de funciones. Como siempre, sublime, midu!!
Es curioso. Nunca había pensado en esta posibilidad . Pero usando objetos javascript sustituyes a switch. Hasta podría servir para php.
Gracias por la sugerencia.
Bruuuuutal, sencillamente magnifico. Gracias por el aporte 🎉💪
Gracias a ti!!
gracias men, continua con estos temas. ayuda mucho
🚀 lo haré!
Hola! Oye estaría bien que explicarás cuales son los patrones que usas y así se aprende un poco más de teoría :D (Es este caso la factoría).
PD: Parece mejor solución un "Optional chaining operator" que la ternaria, algo tal que así: "const loki = LOKI_DISFRACES[adversario]?.() || LOKI_DEFAULT_DISFRAZ". Buen video! :D
Gracias, complementando lo que escribiste podríamos escribir : "const loki = LOKI_DISFRACES[adversario]?.() || 'Loki'
Nos ahorraríamos el definir LOKI_DEFAULT_DISFRAZ , ahorrar tiempo y espacio de memoria c:
Esperando con ansias el siguiente video
estoy empezando a aprender javascript porque me gusta un monton, alguna recomendacion o consejo para ser bastante bueno con el lenguaje
La mejor recomendación es que sigas mi canal y te pases por mis directos de Twitch. Si no mejoras en JavaScript en un año, te devuelvo todo tu dinero.
Yo el switch lo veo super legible. Es muy cómodo y versátil.
Entiendo que para este caso si valdría el ejemplo que pone Midu.
creo que para otros casos mas complejos el switch es una buena opción.
Genial! Te sigo desde hace meses siempre aprendo algo nuevo!!
Gracias por Tu video algo que se veia Tan complejo, se puede hacer en unos pocos pasos y es mas legible
Justo buscaba esto pa mis compañeros de equipos de desarrollo. Gracias mi bien, serás compartido por ahí.
solo cambiaría el OR (||) por (??) para evitar algunos escenarios desafortunados :)
Muchas gracias, desde Argentina!