TypeScript: TYPES vs INTERFACES - Cuándo usar cada uno

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ธ.ค. 2024

ความคิดเห็น • 36

  • @CodelyTV
    @CodelyTV  2 ปีที่แล้ว +1

    Y tú qué prefieres… ¿Tipos o Interfaces? 🤔

  • @shaquespiare
    @shaquespiare 2 ปีที่แล้ว +3

    Mi primer lenguaje fue Java, por lo tanto conocí las interfaces desde mis inicios, hoy las aplico por defecto por sobre los tipos, exceptuando en ocasiones donde las características únicas de los tipos sean necesarias, me gustó saber de algunas características que no conocía de los tipos, tema muy interesante

  •  ปีที่แล้ว

    Excelente explicación y comparto la opinión de xavi

  • @cesarmorales5708
    @cesarmorales5708 2 ปีที่แล้ว +1

    Muy bueno. la verdad. yo por ejemplo suelo usar interfaces el 90 % de las veces.

  • @jcuervas
    @jcuervas 2 ปีที่แล้ว +1

    Interesante video. Como detalle, os habéis dejado un uso muy frecuente de tipos que es el definir tipos para delimitar valores, por ej. type HttpMethod = 'POST'|'GET'.

  •  ปีที่แล้ว

    Depende, uso types para cosas más concretas o para atributos o métodos mientras que uso interface para modelar api/objetos. En general, en el equipo, damos cierta libertad pero animamos al uso de interface que, a mi parecer, da un sentido mayor cuando se trata de extender un objeto. De cualquier modo, gran vídeo y muy buena explicación. Le he echado en falta en la sección de extensión profundizar un poco más.

  • @Colmedoherman
    @Colmedoherman 2 ปีที่แล้ว +2

    En mi equipo usamos interface, porque siempre la puedes hacer evolucionar, si la usas como "type" siempre le podras añadir metodos sin que rompa tu codigo existente, en el caso contrario puede ser mas confuso

  • @jetox21
    @jetox21 2 ปีที่แล้ว +1

    Brutal, siempre uso interfaces y los tipos solo para unir tipos primitivos o interfaces, sobre todo cuando uso genéricos es que hago esto de los tipos

    • @plasmodiun1
      @plasmodiun1 ปีที่แล้ว

      Igual hago lo mismo

  • @stevenperez5260
    @stevenperez5260 2 ปีที่แล้ว

    La música 😁, muy buen vídeo 🙂👌🏻

  • @moviedomof
    @moviedomof 2 ปีที่แล้ว +1

    Declaration merging puede ser util por si ya tienen iuna Interfaz creada que viene de otros desarrollos y la quieres extender como se hace con c# con clases parciales .. Suele ser muy util para separar en archivos desarrollos de estaticos de interfaz (provenientes de un codeGen por ejemplo ) y luego el desarrollador solo toca sus archivos " partials" para customizaciones en c/proyecto . Un commit no afectaria nunca la clase original (por asi decirlo)

    • @FerminDevMobile
      @FerminDevMobile 2 ปีที่แล้ว +1

      Exactamente, de esa forma el dominio queda protegido. En dart se llama Extension method, es una maravilla.

  • @robertov2554
    @robertov2554 2 ปีที่แล้ว +1

    a mi me gustan las interfaces para proyectos un poco mas grandes y que requieren tener identificados ciertas familias de objetos que necesitan tener propiedades iguales, pero typedef para típica API en NodeJS o para una app sencilla en Angular typedef crema

  • @misaelpereira9679
    @misaelpereira9679 2 ปีที่แล้ว +1

    Hombre, para modelar datos de cliente/servidor, creo que viene handy los types

  • @robertov2554
    @robertov2554 2 ปีที่แล้ว

    brutal la funcionalidad de la interface "Declaration merging"(no la conocia), para proyectos que encadenan llamadas a servicios y que entre alguna de esas llamadas puede o no recibir informacion auxiliar que es necesaria(si la recibes) para las siguientes llamadas a servicios, lo cual hace posible que pueda seguir usando mi interfaz base para ciertos objetos, añadiendo esa variable por el camino que se vuelve necesaria en las siguientes peticiones.
    CREMA

    • @SimaDamian
      @SimaDamian 2 ปีที่แล้ว +1

      No... huele feo! xD. generate un nuevo tipo y listo, es mas entendible.
      ¿Conoces el concepto de partial class? bueno. Es solo dolor de cabeza para el que hace mantenimiento.

    • @crackzz8913
      @crackzz8913 2 ปีที่แล้ว

      @@SimaDamian lo mismo pensé. Cuando vi eso me pareció muy feo , para eso están los Partials

  • @ferriss_
    @ferriss_ 2 ปีที่แล้ว +1

    +100 al "Adiós" al final del vídeo 😆

  • @eriksostenes4234
    @eriksostenes4234 2 ปีที่แล้ว +1

    Una pregunta, puedo comprar un curso por separado, o necesito comprar toda una suscripción por todo un año.

    • @CodelyTV
      @CodelyTV  2 ปีที่แล้ว +2

      Puedes suscribirte 1 sólo mes 😊
      Te sale a 29€, que con que hagas un sólo curso ya es un buen precio, y además podrás hacer cualquiera de los demás y los que publicamos cada semana 🤟
      Aquí más info del por qué no vendemos cursos sueltos: soporte.codely.com/es/articles/4387186-puedo-comprar-un-curso-por-separado

    • @eriksostenes4234
      @eriksostenes4234 2 ปีที่แล้ว

      @@CodelyTV gracias

  • @SimaDamian
    @SimaDamian 2 ปีที่แล้ว +7

    Buenas!
    aclaración:
    - Donde dice "sobreescribir tipos" no es así, no estas sobreescribiendo nada, estas solo definiendo el tipo Name que es identico a un string.
    - Interface "Declaracion merging" parece mas un bug que otra cosa, existe el concepto de clase parciales, que es algo parecido, pero a nivel interfaz parece mas un bug que otra cosa.
    Comentario, yo evito las interfaces para modelado de datos, (si las uso para contratos) ya que las operaciones de typos para generar un nuevo tipo no funcionan en interfaces, ej:
    ``type Res = Exclude``
    si *TInner* es una interfaz el nuevo tipo *Res* no tiene definicion, en cambio si es tipo *type* si funciona correctamente.

  • @josergdev
    @josergdev 2 ปีที่แล้ว +3

    Buen video. Creo que los types marcaran la diferencia cuando incluyan "Exhaustive pattern matching" si lo hacen... Hay alguna proposal

    • @CodelyTV
      @CodelyTV  2 ปีที่แล้ว +1

      De momento podemos al menos garantizar exhaustividad con algún truquillo gracias a never 😬 aquí lo vemos: th-cam.com/video/hTTkC_fao3A/w-d-xo.html

  • @washimon7
    @washimon7 2 ปีที่แล้ว

    Yo uso los 2

  • @misaelpereira9679
    @misaelpereira9679 2 ปีที่แล้ว

    Typescript's Class: "I am joke to you?"

  • @mauroinde
    @mauroinde 2 ปีที่แล้ว +1

    la vieja confiable es ANY

  • @dodo11858
    @dodo11858 2 ปีที่แล้ว +7

    Yo solo uso types, al final si este te aporta más y/o mejor funcionalidades si que están claras las diferencias y hay un claro ganador. Es absurdo ponerse tan tiquismiquis con la semántica, pero bueno, muy opinionated.

  • @xsrpma
    @xsrpma 2 ปีที่แล้ว +1

    Inline tipos, multiline interfaces xD. Revisare cual es el javascript que genera cada cual

    • @SimaDamian
      @SimaDamian 2 ปีที่แล้ว

      debería ser el mismo porque el tipado no afecta js

    • @jcuervas
      @jcuervas 2 ปีที่แล้ว

      La respuesta es ninguno, si quieres que la compilación de js mantenga referencia al tipo debes crear clases, que si existen en js

  • @tacodelmetro8385
    @tacodelmetro8385 2 ปีที่แล้ว +5

    Developer raro el que usa el tema claro en el IDE.

  • @jdiazco
    @jdiazco 2 ปีที่แล้ว

    a TYPE cannot be re-opened to add new properties VS an INTERFACE which is always extendable.

  • @SRG-Learn
    @SRG-Learn 2 ปีที่แล้ว

    Dark Fucking Mode!! Also intro music it's too loud.

  • @GuillermoDeLosSantos
    @GuillermoDeLosSantos 2 ปีที่แล้ว

    coño cuanta publicidad....