Tipado implícito vs. tipado explícito

2/16
Recursos
Transcripción

Aportes 7

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Diferencias de tipado:

  • Explícito: Lo ves en el código
  • Implícito: Lo sabes luego de ver o leer el código

🤔 ¿Debería especificar que tipo de dato se devolverán en las funciones?

Existen muchas opiniones acerca si debemos devolver los tipos, ya como menciona la clase, se tiene el beneficio de predecir que se devolverá en un futuro. Pero puede haber una perdida de la “verdad”. En este video se explica el porqué varios desarrolladores con perfiles interesantes (CTO de vercel, desarrolladores de librerías como astro, trpc, react query, entre otros…) prefieren retornar tipos inferidos

Como opinión personal, en el 90% de los casos me gusta retornar los tipos inferidos a menos de que se trate de crear tipos para un contexto de React, o alguna función específica como ser las funciones de Next.js.

import { GetStaticProps } from 'next'

type Post = {
  author: string
  content: string
}

export const getStaticProps: GetStaticProps<{ posts: Post[] }> = async (
  context
) => {
  const res = await fetch('https://.../posts')
  const posts: Post[] = await res.json()

  return {
    props: {
      posts,
    },
  }
}
}

👀 Pero al final tú tienes la decisión final, me gustaría saber cuáles son tus opiniones acerca de especificar el tipo de retorno en las funciones o retornar los tipos inferidos

Por qué hacer “tipado” en React?



Los beneficios de Typescript no suelen verse en el momento sino más adelante en el desarrollo. Por ejemplo es más facil saber cuales son los props y sus tipado de los componentes que vas a utilizar.

Aunque si admito que toma su tiempo y debes tener paciencia, por ejemplo yo tengo un interface del estado global del Redux que armo a partir del initialState en los reducers, lo cual no es facil de hacer pero que te facilita mucho las cosas más adelante

Vamos a darle xD

En el código, mientras más explícito seas, mejor, porque sabemos qué tipo de dato manejamos.

Al ser 100 porciento explícito nos aseguramos de no tener errores de tipado en la aplicación. Puede hacer que el escribir código nos tome más esfuerzo, pero nos ahorramos dolores de cabeza al momento de hacer troubleshooting.
Los any son el demonio 👿