¡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

Комментарии • 125

  • @JeffersonObregon
    @JeffersonObregon 2 года назад +51

    Como lo vacilan al pobre de midu xD

    • @irck113
      @irck113 2 года назад

      ¿En qué parte?

    • @ealexanderflores89
      @ealexanderflores89 2 года назад

      @@irck113 en que se ponen a sugerir peores soluciones

    • @Alberto-ms7rz
      @Alberto-ms7rz 2 года назад +2

      Min 17:20 jajajaajja

    • @robertomaclean1140
      @robertomaclean1140 Год назад +5

      Llamo una API para saber si es null jajajaja los seguidores de midu son unos cracks

    • @KDRAKEX
      @KDRAKEX 8 месяцев назад +1

      un switch xd

  • @zombklan
    @zombklan Год назад +1

    Jajajaja me encanta que dejes la lectura de comentarios! No solo dejó el video con conocimientos nuevos sino con una sonrisa también
    😂

  • @gjavier
    @gjavier 2 года назад +12

    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.

  • @jimmypedraza433
    @jimmypedraza433 2 года назад +6

    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...

  • @humbertochavarria7589
    @humbertochavarria7589 2 года назад +4

    Un crack. Pasaría horas preguntándole a este tío. Un maestro. Gracias por compartir tus conocimientos amigo. Que Dios te bendiga.

  • @guiseppeepifani3677
    @guiseppeepifani3677 2 года назад +10

    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

  • @joaquingaleano2456
    @joaquingaleano2456 2 года назад +3

    Bendiciones para ti Miguel! Excelente contenido 👌🏻

    • @midulive
      @midulive  2 года назад +1

      Gracias y saludos!!!!

  • @sleon4
    @sleon4 2 года назад +38

    Midu, harías un vídeo donde enseñes a crear Middleware para rutas en React?

  • @aquirozca
    @aquirozca 2 года назад +3

    Gracias Midu, creo que sabiendo esto no volveré a usar el if de esa forma, jamás.
    Siempre aprendo algo nuevo con tus explicaciones.

  • @sebastianestrada1311
    @sebastianestrada1311 2 года назад +4

    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.

  • @kerneldiego
    @kerneldiego 2 года назад +4

    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

  • @Karl_Jimmy
    @Karl_Jimmy 2 года назад +2

    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.

    • @hck1bloodday
      @hck1bloodday 2 года назад

      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

  • @girbycardozo2749
    @girbycardozo2749 2 года назад +3

    me alegra saber que estoy usando perfectamente el nullish y el resto!

    • @vistaland
      @vistaland Год назад

      Si no tuvieras nulls en tu código, no necesitarías nullish ni ninguna de esas validaciones accidentales, mejor eliminar los nulos y listo.

  • @quadrigis8960
    @quadrigis8960 2 года назад +2

    Me encato el video, excelente! no conocia el nullish. Siempre se aprende algo nuevo. Gracielaaa

  • @antoniomartinez9930
    @antoniomartinez9930 2 года назад +2

    hoy aprendí y me divertí 🤣🤣

  • @jrtorsa
    @jrtorsa 2 года назад

    ¡Gracias!

  • @josect777
    @josect777 2 года назад +1

    Jajaaja morí con los comentarios de "un switch" y evaluarlo con una api jajaajajaj xD bien trolles

  • @Neil_Jordan
    @Neil_Jordan 2 года назад +7

    Que bien que explicas Midu 🤗🙏 gracias 🙏🙏🙏

  • @valentinoz-p6251
    @valentinoz-p6251 2 года назад +2

    Midu, como se llama la extensión que muestra el output a la derecha de la pantalla

  • @dariobntz8337
    @dariobntz8337 2 года назад

    midu enojado es tan gracioso que le añadió años a mi vida.

  • @user-hf6uo6zw3w
    @user-hf6uo6zw3w 8 месяцев назад

    Jajaja midu prendiendo la rumba 18:07

  • @ElTitoFry
    @ElTitoFry Год назад +4

    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.

  • @ElectronicFanArm
    @ElectronicFanArm 2 года назад +1

    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.

  • @sbknt
    @sbknt 2 года назад

    “Llama una api a ver si es null” 😂😂

  • @marcgruberlopez8458
    @marcgruberlopez8458 Год назад +1

    aprendo mas aquí que en las clases de javascript de DAW jaja

    • @midulive
      @midulive  Год назад +1

      Muchas gracias!

    • @marcgruberlopez8458
      @marcgruberlopez8458 Год назад

      @@midulive muchas gracias a ti por todo el contenido que haces!

  • @OniceOnice35
    @OniceOnice35 2 года назад +1

    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.

  • @vruizdev
    @vruizdev Год назад

    Que grande que es este señor.

  • @pedritoalejos3694
    @pedritoalejos3694 Год назад

    He aprendido algo nuevo Gracias 🙏

  • @eduardonieves445
    @eduardonieves445 2 года назад

    estos datos me ayudaron garcias midulive

  • @sc-nc6bb
    @sc-nc6bb Год назад

    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.

  • @leonardoromero925
    @leonardoromero925 2 года назад +1

    Buen video MiduCrack

  • @yindrax
    @yindrax Год назад

    Que editor usa?, que le arroja el resultado de una vez?

  • @darkness35869
    @darkness35869 2 года назад +3

    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

  • @1984mnemonic
    @1984mnemonic 7 месяцев назад +1

    Como se llama la extensión que te muestra el log a la derecha de la pantalla en la línea correspondiente?

  • @jeshuacanizares8003
    @jeshuacanizares8003 2 года назад

    Muy buen video, bro. Muchas gracias!

  • @Darknhyt01
    @Darknhyt01 Год назад

    Nunca vi a un Streamer pelearse con su chat sobre como asignar una Variable jajaja estas cosas si valen la pena presenciar.

    • @midulive
      @midulive  Год назад +1

      Jajajaja pocos streams has visto 👹

  • @jean-francoiskener6036
    @jean-francoiskener6036 Год назад +1

    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.

  • @luiskabal1595
    @luiskabal1595 2 года назад

    Gracias por la explicación, clarísima!! Saludoss

  • @furo.v
    @furo.v 2 года назад

    Discutir este tipo de sintaxis de JS es el pedal de freno del mundo del desarrollo de software.

  • @mateozarrabeitia9025
    @mateozarrabeitia9025 2 года назад +2

    Thank you man for sharing this stuff

  • @slendimon4695
    @slendimon4695 Год назад

    Una consulta, que tema usa midu para que se vea la igualdad seguida y no ===

  • @juancaos01
    @juancaos01 2 года назад

    ufffff, Que buen conocimiento (:, muchas gracias

  • @guillermooliverarovere2647
    @guillermooliverarovere2647 Год назад

    Hola, como va? que tema de visual studio code es el que aparece en este video?

  • @flonnefallenangel
    @flonnefallenangel 2 года назад

    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

  • @victorcruz4627
    @victorcruz4627 2 года назад

    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

  • @Deus-lo-Vuilt
    @Deus-lo-Vuilt 2 года назад

    El curso de js , cuando seguira???

  • @josuedavidkennedymamani3576
    @josuedavidkennedymamani3576 2 года назад

    siempre explicas super bien gracias
    😀😀

  • @mkGarf
    @mkGarf Год назад

    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`.

  • @gustavomaranook
    @gustavomaranook Год назад

    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!!.

  • @alancabrera9257
    @alancabrera9257 2 года назад

    Que tipo de tema o blugins es el que une a los 2 =¿?

  • @TheLp2911
    @TheLp2911 2 года назад

    Podrías explicar que editor usas? Y como haces para que te aparezca la consola al lado directamente

  • @jacmkno5019
    @jacmkno5019 2 года назад

    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í...

  • @cerm88
    @cerm88 2 года назад

    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!

  • @dixrobyac7466
    @dixrobyac7466 2 года назад

    Hola Midudev que extensión en los primeros minutos, al canto te aparece como una consola de Chrome

  • @arturoo3006
    @arturoo3006 8 месяцев назад

    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?

  • @andresalvarado7734
    @andresalvarado7734 2 года назад

    Midu que editor de codigo es ese?

  • @TheYoung9
    @TheYoung9 Год назад

    Son tan bellas las ternarias 👌

  • @customizacion-wow1012
    @customizacion-wow1012 Год назад

    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

  • @gabrielcubilla837
    @gabrielcubilla837 Год назад

    Midu: creo que no preferireis la parte de abajo..... Si un swicth!!! eso esta mejor 😂😂😂

  • @jacl_dev
    @jacl_dev 2 года назад

    miduv conociendonos que ya somos pasados con las micro-optimizaciones 🤣🤣🤣 (si soy) 😂😂

  • @ZzZz-dr7uq
    @ZzZz-dr7uq 2 года назад

    midu donde esta tu video de la platzi conf?

  • @mals98
    @mals98 2 года назад

    Midu, cómo se llama la extensión que te permite ver el valor de las variables en tiempo real?

    • @mariorocha2969
      @mariorocha2969 2 года назад +1

      Usa un programa que se llama runJs

    • @crywhatt
      @crywhatt 2 года назад +2

      Es otro editor, el RunJS pero si querés una extensión que haga lo mismo para el vscode esta Quokka

    • @MrTomywalker
      @MrTomywalker Год назад +1

      @@mariorocha2969 gracias!

  • @TantricBot
    @TantricBot Год назад

    Al final del video debería de ser if(initialCounter === null){...} en lugar de !=
    Ya que initialCounter ??= 25 solo será 25 si initialCounter === null

  • @irvagui
    @irvagui Год назад +1

    Grande Midu

  • @rm4xn
    @rm4xn 2 года назад

    Grande, midudev. Enseñando lo mejor.

  • @dakuni99
    @dakuni99 2 года назад

    Entendí muy poco pero bueno, ahí voy

  • @ElTitoFry
    @ElTitoFry Год назад

    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.

    • @midulive
      @midulive  Год назад +1

      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. :)

    • @ElTitoFry
      @ElTitoFry Год назад

      @@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.

  • @pablococciaglia3605
    @pablococciaglia3605 Год назад

    muy bueno. gracias

  • @codejauscodeschool6252
    @codejauscodeschool6252 2 года назад

    Ternario gueno aquel que no existe 😊

  • @Mr123456rambo
    @Mr123456rambo Год назад

    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)

    • @midulive
      @midulive  Год назад +2

      14KB de biblioteca. Claro que sí. Algo que hace el lenguaje en menos líneas. 😭

  • @emiliohuizar3549
    @emiliohuizar3549 2 года назад

    Yo voy a usar lo que yo quiera y deja de molestar.

  • @raulrojas6552
    @raulrojas6552 2 года назад

    yo uso el ?? a forma de ternaria ( variableY = valorX ?? 'valor default' )

  • @miguelyoutube100
    @miguelyoutube100 2 года назад

    Gracias por el vídeo

  • @Alberto-ms7rz
    @Alberto-ms7rz 2 года назад +1

    Min 17:20 jajajaajja

  • @PatoToledo23
    @PatoToledo23 2 года назад

    Que es falsy? no es false?

    • @sebastiandotdev
      @sebastiandotdev 7 месяцев назад

      Falsy es un valor que se determina como false en una condición Ej: Null, undefined etc...

  • @maxigarrett3121
    @maxigarrett3121 2 года назад

    gracias, buen video

  • @trynag
    @trynag 2 года назад

    bad ending 🤣🤣🤣🤣

  • @mrgonzalo
    @mrgonzalo 2 года назад

    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?

    • @FrancoCarrara96
      @FrancoCarrara96 2 года назад

      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.

  • @francomasip
    @francomasip 2 года назад

    A mí ya se me hace quilombo si las anidas

  • @sebastianestrada1311
    @sebastianestrada1311 2 года назад

    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 🤣🤣

  • @StanTheMackiar
    @StanTheMackiar Год назад

    input ?? defaultValue

  • @hernandoooooooooooooo
    @hernandoooooooooooooo 2 года назад

    en conclusion debemos crear una libreria para verificar los valores iniciales de una variable... no? xd

  • @willymatheoo
    @willymatheoo 2 года назад

    Llama a una API para saber si es null 🤣🤣🤣 cmamo ese brother

  • @jesusalberto7618
    @jesusalberto7618 2 года назад

    Llama una api para saber si es null. xDD

  • @Fran-wk1wj
    @Fran-wk1wj 2 года назад

    Te amo

  • @Bustamante76
    @Bustamante76 Месяц назад

    un SWITCH???, si estamos hablando de simplificar

  • @yamilgallardoyunes8217
    @yamilgallardoyunes8217 2 года назад

    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

    • @guildguaxi
      @guildguaxi 2 года назад +4

      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.

    • @yamilgallardoyunes8217
      @yamilgallardoyunes8217 2 года назад

      @@guildguaxi te agradezco muchísimo por tu comentario Guaxi muchísimas gracias! Voy a seguir tu consejo. Un abrazo enorme 🤗

    • @guildguaxi
      @guildguaxi 2 года назад +1

      @@yamilgallardoyunes8217 Con gusto bro, buena suerte

  • @barcenasdev
    @barcenasdev Год назад

    Jajajajaja un API

  • @gadhager
    @gadhager 2 года назад

    esta como desoprdenado

  • @oscardpazb
    @oscardpazb 2 года назад

    Agradecido

  • @SeVieneElAjusteVer.Gorila2.0
    @SeVieneElAjusteVer.Gorila2.0 Год назад +1

    No pude saber tanto 😮es muy groso midu

    • @midulive
      @midulive  Год назад +1

      Más sabe el midu por viejo que por midu

  • @nicollerosa4967
    @nicollerosa4967 2 года назад

    waos

  • @kantyDarius
    @kantyDarius 2 года назад

    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 👀👎)

  • @jacsamg
    @jacsamg 2 года назад

    const a = true
    const b = () => console.log("hi!")
    const c = a || b() // b not run

  • @LuisFernando-nm6lv
    @LuisFernando-nm6lv 2 года назад

    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;)