¡Deja de usar ternarias para hacer esto en JavaScript! ❌
HTML-код
- Опубликовано: 10 дек 2024
- ¡TEN CUIDADO! Es muy común usar operadores ternarios para darle un valor por defecto a una variable. Existen otras formas más cómodas de hacerlo y que, además, pueden evitarte problemas.
Mucha gente usa || pero tampoco es correcto del todo, ya que depende de lo que quieres conseguir.
▶ No te pierdas más directos en: / midudev
Como lo vacilan al pobre de midu xD
¿En qué parte?
@@irck113 en que se ponen a sugerir peores soluciones
Min 17:20 jajajaajja
Llamo una API para saber si es null jajajaja los seguidores de midu son unos cracks
un switch xd
Jajajaja me encanta que dejes la lectura de comentarios! No solo dejó el video con conocimientos nuevos sino con una sonrisa también
😂
Gran explicación. Pero Ojo!! Ya que se hace referencia al álgebra booleana (min 7:50), hablando en forma estricta de esta, el operador AND devuelve VERDADERO en caso de que ambos valores sean verdaderos, y FALSO en caso de que al menos uno sea falso. En binario: devuelve 1 si ambos valores son igual a 1, y devuelve 0 si al menos uno de los dos es 0 (ver tabla de verdad). Hago la aclaración porque en el caso presentado (código) devuelve el primer valor o el segundo, no estrictamente un booleano. Es más, si en el código se trabaja tomando las formas del álgebra de Boole, es decir, solo con true y false ó 1 y 0, se puede constatar que "true && false da false" y "1 && 0 da 0", y no el primer valor aunque sea truly.
Profe usted es un teso, siempre me confundo con estos temas que se que son algo básico y esencial para empezar pero me confundo demasiado, gracias a usted puedo entender un poco mas esta temática y así poderme enfrentar mas adelante a los diferentes problemas que sucedan, seguiré viendo este video una y otra vez para entenderlo de una vez por todas, gracias por enseñar de una manera muy practica y sin tanta tecnicismo que es lo que me confunde al momento de buscar en Google...
Un crack. Pasaría horas preguntándole a este tío. Un maestro. Gracias por compartir tus conocimientos amigo. Que Dios te bendiga.
Espectacular, me ayudo a confirmar conocimientos que ya tenia pero no sabia que era mejor, me encanto esa explicación que dio sobre la "micro optimización" yo se que en la practica rara vez vamos a tener que explicar eso, pero el hecho e saberlo ya te abre la puerta a otro conocimiento nuevo
Bendiciones para ti Miguel! Excelente contenido 👌🏻
Gracias y saludos!!!!
Midu, harías un vídeo donde enseñes a crear Middleware para rutas en React?
Gracias Midu, creo que sabiendo esto no volveré a usar el if de esa forma, jamás.
Siempre aprendo algo nuevo con tus explicaciones.
Men sinceramente no he visto en internet alguien que sepa tantos trucos de javascript, mis respetos, en los videos suyos siempre hay algo que yo no sepa literal.
Mira vos che, no conocia el nullish, interesante. Es muy buena la sutil diferencia que tiene con el or, pero lo suficiente para que no se rompa el codigo en caso de que sea cero tu valor. Como siempre aprendiendo cositas nuevas con Midu
En Java lo utilizo para probar si el objecto es null cuando tengo que acceder a una referencia para guardarlo en una variable.
Si son más de una, ya si usaría un if.
el problema es que en javascripthayq cosas que evalua como falso que podrian ser casos validos paralo que quieres hacer, pero es un problema de javascript, no de el concepto de metodo ternario
me alegra saber que estoy usando perfectamente el nullish y el resto!
Si no tuvieras nulls en tu código, no necesitarías nullish ni ninguna de esas validaciones accidentales, mejor eliminar los nulos y listo.
Me encato el video, excelente! no conocia el nullish. Siempre se aprende algo nuevo. Gracielaaa
hoy aprendí y me divertí 🤣🤣
¡Gracias!
Jajaaja morí con los comentarios de "un switch" y evaluarlo con una api jajaajajaj xD bien trolles
Que bien que explicas Midu 🤗🙏 gracias 🙏🙏🙏
Gracias, Neil
Midu, como se llama la extensión que muestra el output a la derecha de la pantalla
midu enojado es tan gracioso que le añadió años a mi vida.
Jajaja midu prendiendo la rumba 18:07
Las ternarias son interesantes para asignaciones sencillas de a o b pero a y b son valores sencillos (una cadena, número, booleano). Si necesitas meter funciones o demás, es recomendable siempre usar ifs para que el código sea más legible.
Si seguimos viendo que se debe usar o no usar acabaremos no programando, ya que, no podemos usar nada ni if, for, while, ternarias, clases y nada de nada entonces no que iremos a programar. Estoy de acuerdo en no abusar, pero hombre pues si el if esta pues usalo o cualquier cosa que te ofrezca el lenguaje Dios.
“Llama una api a ver si es null” 😂😂
aprendo mas aquí que en las clases de javascript de DAW jaja
Muchas gracias!
@@midulive muchas gracias a ti por todo el contenido que haces!
Que buen vídeo utilizar ternaria anidadas no es una buena práctica, utilizar un if no es pecado, bien vídeo, saludos desde Colombia.
Que grande que es este señor.
He aprendido algo nuevo Gracias 🙏
Excelente!
estos datos me ayudaron garcias midulive
me entere de esos operadores, cuando estaba investigando sobre un archivo build.js de un juego y desde ahi lo adopte, al parecer la transpilaciones prefieren usar este tipo de condicionales.
Buen video MiduCrack
Que editor usa?, que le arroja el resultado de una vez?
que pasa con los nuevos que aprenden a programar , cada vez son más flojos, ese tema es algo muy básico en cualquier sitio se encuentra
Como se llama la extensión que te muestra el log a la derecha de la pantalla en la línea correspondiente?
Es un programa, se llama RunJs.
Muy buen video, bro. Muchas gracias!
Nunca vi a un Streamer pelearse con su chat sobre como asignar una Variable jajaja estas cosas si valen la pena presenciar.
Jajajaja pocos streams has visto 👹
12:52 la microoptimización no está en la evaluación de initialCounter, en las dos líneas la evaluación es idéntica. Lo que cambia es la asignación. En la primera línea se asigna el resultado siempre, en la segunda nada se asigna si la condición no se cumple.
Gracias por la explicación, clarísima!! Saludoss
Discutir este tipo de sintaxis de JS es el pedal de freno del mundo del desarrollo de software.
Thank you man for sharing this stuff
Una consulta, que tema usa midu para que se vea la igualdad seguida y no ===
ufffff, Que buen conocimiento (:, muchas gracias
Hola, como va? que tema de visual studio code es el que aparece en este video?
programador aqui, aprendi en una universidad que enseño mas administracion de empresas en informatica, asi que muchas cosas las aprendi por mi propio medio, no sabia que se les llamaba ternarias xD
anteriormente tenia la idea que el "and" solo podría devolver true o false ahora iré a mis otros lenguajes a ver que resulta XD
El curso de js , cuando seguira???
siempre explicas super bien gracias
😀😀
El null coalesing es el mejor y más útil operador lógico que hay. En todo ámbito en el que piensen en "valor por defecto", piensen en este operador. Es también el shortcut a condicionales con isNull o isSet usando `variable ?? false`.
A cambiar el código! Me maravilló ese milagro del ??... lleno de TypeOf = 'undefined' o null en mi código... ya me estaba cansando. Chas gracias!!.
Que tipo de tema o blugins es el que une a los 2 =¿?
Podrías explicar que editor usas? Y como haces para que te aparezca la consola al lado directamente
Es un PlayGround de JS, se llama: RunJS
Nunca me ha parecido adecuado usar expresiones basadas en booleanos para generar valores no booleanos. Me parece que eso dificulta la lectura del código para los que son más nuevos en el lenguaje y no se gana nada con eso... salvo ahorrar algunos bytes de código y para presumir ante los que no sabían que eso funcionaba así...
Se teo olvidó hablar de las ternarias aniidadas, la mayoría abusa de esto y lo mejor es usar un objeto y evaluarlo o una tbla de hash!
Hola Midudev que extensión en los primeros minutos, al canto te aparece como una consola de Chrome
Como se podría hacer un test con mocha y chai de un ternario? 😢 estoy haciendo un ejercicio pero me marca que me falta hacer pruebas en un ternario, alguien sabe?
Midu que editor de codigo es ese?
Son tan bellas las ternarias 👌
El que usa ternarias para todo, es como el que descubre algo nuevo e intenta aplicarlo a todo.
El que tiene experiencia usa mas la cabeza y no los "juguetes" nuevos, jajajaja
Midu: creo que no preferireis la parte de abajo..... Si un swicth!!! eso esta mejor 😂😂😂
miduv conociendonos que ya somos pasados con las micro-optimizaciones 🤣🤣🤣 (si soy) 😂😂
midu donde esta tu video de la platzi conf?
Midu, cómo se llama la extensión que te permite ver el valor de las variables en tiempo real?
Usa un programa que se llama runJs
Es otro editor, el RunJS pero si querés una extensión que haga lo mismo para el vscode esta Quokka
@@mariorocha2969 gracias!
Al final del video debería de ser if(initialCounter === null){...} en lugar de !=
Ya que initialCounter ??= 25 solo será 25 si initialCounter === null
Grande Midu
Grande, midudev. Enseñando lo mejor.
Entendí muy poco pero bueno, ahí voy
?= If, : = else.
En el min 17 dice que no cree que se prefiera las líneas 7-9 a la línea 5. Pues yo tengo que decir que si estás programando para una empresa es mucho más legible las líneas 7-9 que la 5. En un código pequeño lo de la línea 5 es bastante rápido, pero en un código de 200 líneas o un fichero grande, si llenamos todo con operadores ternarios dificultan la legibilidad una barbaridad, porque ten en cuenta que no estás programando para ti mismo, estás programando para una empresa dónde el código luego hay que mantenerlo y seguramente tú no seas el que lo vaya a mantener en unos meses. Mucho cuidado con creer que siempre que se pueda acortar el código es mejor la expresión corta, porque es completamente falso.
No es un operador ternario, es el logical assignment operator del nullish.
Yo siempre digo que por ser más corta no tiene por qué ser más legible pero en este caso no tengo ninguna duda que una vez que conoces el operador va a ser más legible y mantenible.
Justamente es lo que dices tú. En 200 líneas de código, si por cada variable con valor por defecto si es null debes escribir 3 líneas, te va a quedar un espagueti. :)
@@midulive Bueno, si solo trabajas con séniors o semiseniors si es mejor el primer operador, pero normalmente no es el caso. Respeto tu opinión de que es más legible el primer operador si lo conoces, yo creo que queda mucho más legible un if, para nada genera un espagueti.
muy bueno. gracias
Ternario gueno aquel que no existe 😊
Una manera mucho mas sólida de definir un default es usar una librería de programación funcional para ello, por ejemplo Ramda tiene el defaultTo:
const emptyDefault = R.defaultTo ({});
return emptyDefault (myObject);
Cuando el parametro myObject sea truthy, el return lo evaluará con defaultTo y devolverá el objeto, pero si le llega un undefined, defaultTo nos devolverá el primer valor currificado (un objeto vacío en el ejemplo)
14KB de biblioteca. Claro que sí. Algo que hace el lenguaje en menos líneas. 😭
Yo voy a usar lo que yo quiera y deja de molestar.
yo uso el ?? a forma de ternaria ( variableY = valorX ?? 'valor default' )
Gracias por el vídeo
Min 17:20 jajajaajja
Que es falsy? no es false?
Falsy es un valor que se determina como false en una condición Ej: Null, undefined etc...
gracias, buen video
bad ending 🤣🤣🤣🤣
Midu, una pregunta, entre hostings de paga, ¿Cuál es el mejor para proyecto de red social comunitaria o donde utilice IP dedicada? y otra cosa entre Hostinger y Hostgator, ¿Cuál es el mejor o cual vale más la pena?
No soy midu pero mi experiencia con hostinger fue mala. Yo usaria un digital ocean con algun panel y te quedas tranquilo tanto en rendimienro como los precios.
A mí ya se me hace quilombo si las anidas
Lo de la línea 7 en el minuto 17:40 no puede ser mas imperativo, los que te estaban comentando parece que no han entendido el concepto 🤣🤣
input ?? defaultValue
en conclusion debemos crear una libreria para verificar los valores iniciales de una variable... no? xd
Llama a una API para saber si es null 🤣🤣🤣 cmamo ese brother
Llama una api para saber si es null. xDD
Te amo
un SWITCH???, si estamos hablando de simplificar
Son buenísimos tus vídeos Midu. Lo que no me queda muy en claro es si es conveniente aprender JS puro de entrada o se puede arrancar aprendiendo JS con React por ejemplo. Un saludo enorme y LIKE al vídeo
Es lo peor q puedes hacer, yo en su momento hice eso mismo con Jquery y luego no sabia q era Jquery y JS, lo mejor siempre es enfocarse en tener una base solida en el lenguaje y después en los frameworks y librerías.
@@guildguaxi te agradezco muchísimo por tu comentario Guaxi muchísimas gracias! Voy a seguir tu consejo. Un abrazo enorme 🤗
@@yamilgallardoyunes8217 Con gusto bro, buena suerte
Jajajajaja un API
esta como desoprdenado
Agradecido
No pude saber tanto 😮es muy groso midu
Más sabe el midu por viejo que por midu
waos
Midu debe ser posiblemente el guru más divertido del todo este mundillo de yt (a diferencia de ese otro sr. De barba y anteojos 👀👎)
const a = true
const b = () => console.log("hi!")
const c = a || b() // b not run
Bueno es cierto que para no todo, las ternarias no quedan bien, pero hay muchos otros casos que incluso queda mejor. No uso muchos los ternarios pero cuando los uso queda bastante limpio el fragmento de código con el formato (variable = condicion? valorTrue : valorFalse;)