¡Deja de usar ternarias para hacer esto en JavaScript! ❌

Поделиться
HTML-код
  • Опубликовано: 24 сен 2022
  • ¡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
  • НаукаНаука

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

  • @JeffersonObregon
    @JeffersonObregon Год назад +52

    Como lo vacilan al pobre de midu xD

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

      ¿En qué parte?

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

      @@irck113 en que se ponen a sugerir peores soluciones

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

      Min 17:20 jajajaajja

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

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

    • @KDRAKEX
      @KDRAKEX 3 месяца назад

      un switch xd

  • @jimmypedraza433
    @jimmypedraza433 Год назад +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...

  • @gjavier
    @gjavier Год назад +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.

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

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

  • @humbertochavarria7589
    @humbertochavarria7589 Год назад +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 Год назад +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

  • @aquirozca
    @aquirozca Год назад +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.

  • @sleon4
    @sleon4 Год назад +38

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

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

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

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

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

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

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

  • @joaquingaleano2456
    @joaquingaleano2456 Год назад +3

    Bendiciones para ti Miguel! Excelente contenido 👌🏻

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

      Gracias y saludos!!!!

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

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

  • @kerneldiego
    @kerneldiego Год назад +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

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

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

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

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

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

    Muy buen video, bro. Muchas gracias!

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

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

  • @Deus-lo-Vuilt
    @Deus-lo-Vuilt Год назад

    El curso de js , cuando seguira???

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

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

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

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

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

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

    siempre explicas super bien gracias
    😀😀

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

    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?

  • @KJImmy26
    @KJImmy26 Год назад +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 Год назад

      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

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

    ufffff, Que buen conocimiento (:, muchas gracias

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

    Midu que editor de codigo es ese?

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

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

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

    Buen video MiduCrack

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

    estos datos me ayudaron garcias midulive

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

    Thank you man for sharing this stuff

  • @ZzZz-dr7uq
    @ZzZz-dr7uq Год назад

    midu donde esta tu video de la platzi conf?

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

    muy bueno. gracias

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

    hoy aprendí y me divertí 🤣🤣

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

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

  • @OniceOnice35
    @OniceOnice35 Год назад +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.

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

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

  • @darkness35869
    @darkness35869 Год назад +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

  • @Neil_Jordan
    @Neil_Jordan Год назад +7

    Que bien que explicas Midu 🤗🙏 gracias 🙏🙏🙏

  • @girbycardozo2749
    @girbycardozo2749 Год назад +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.

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

    He aprendido algo nuevo Gracias 🙏

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

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

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

      Usa un programa que se llama runJs

    • @crywhatt
      @crywhatt Год назад +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!

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

    Que grande que es este señor.

  • @sebastianestrada1311
    @sebastianestrada1311 Год назад +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.

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

    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

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

    Gracias por el vídeo

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

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

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

    gracias, buen video

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

    Jajaja midu prendiendo la rumba 18:07

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

    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

  • @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!

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

    Grande Midu

  • @furo.v
    @furo.v Год назад

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

  • @nelsonamador5412
    @nelsonamador5412 Год назад +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.

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

    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 Год назад

      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.

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

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

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

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

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

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

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

      Jajajaja pocos streams has visto 👹

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

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

    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!

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

  • @adrio.6180
    @adrio.6180 Год назад

    yo no diría que "si es true, haz esto" ..., antes pensaba así, pero esto me confunde, pues quería usar el ternario cómo un if-else. Ahora lo pienso así: "si condición es true, el ternario retorna este valor", si no el otro".

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

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

  • @gabrielcubilla837
    @gabrielcubilla837 11 месяцев назад

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

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

    Agradecido

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

    Son tan bellas las ternarias 👌

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

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

    ¡Gracias!

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

    Que es falsy? no es false?

    • @castrogarciajs
      @castrogarciajs 3 месяца назад

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

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

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

    Min 17:20 jajajaajja

  • @Fran-wk1wj
    @Fran-wk1wj Год назад

    Te amo

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

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

    Grande, midudev. Enseñando lo mejor.

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

    Entendí muy poco pero bueno, ahí voy

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

    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 9 месяцев назад

    input ?? defaultValue

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

    A mí ya se me hace quilombo si las anidas

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

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

    bad ending 🤣🤣🤣🤣

  • @LuisFernando-nm6lv
    @LuisFernando-nm6lv Год назад

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

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

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

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

    Ternario gueno aquel que no existe 😊

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

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

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

    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.

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

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

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

    Jajajajaja un API

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

    Llama una api para saber si es null. xDD

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

    esta como desoprdenado

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

    waos

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

  • @SeVieneElAjusteVer.Gorila2.0
    @SeVieneElAjusteVer.Gorila2.0 11 месяцев назад +1

    No pude saber tanto 😮es muy groso midu

    • @midulive
      @midulive  11 месяцев назад +1

      Más sabe el midu por viejo que por midu

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

    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 Год назад

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