Be Careful With Return Types In TypeScript
Summary
TLDREl guion discute la controversia sobre el uso de tipos de retorno en TypeScript, argumentando que muchas opiniones comunes son incorrectas. Se presenta un ejemplo donde la inferencia de tipos sin especificar explícitamente los tipos de retorno resulta en una representación más precisa y verdadera del resultado de una función. El guion destaca cómo los tipos de retorno explícitos pueden 'mentir', ocultando o alterando la verdad sobre los datos que una función realmente devuelve. Se enfatiza la importancia de la verdad en la programación y cómo la inferencia siempre refleja la verdad, aunque sea más amplia, mientras que los tipos de retorno pueden ser engañosos y peligrosos si no se usan con precaución.
Takeaways
- 🔍 Evitar los tipos de retorno cuando sea posible puede ser beneficioso.
- 🤔 Los tipos de retorno estrictos pueden llevar a resultados inexactos y engañosos.
- 💡 Usar 'as const' en TypeScript puede proporcionar resultados más precisos.
- 🚫 Los tipos de retorno pueden mentir y causar errores difíciles de detectar.
- 📊 Diagrama: La inferencia de tipos a menudo da la verdad, incluso si es más vaga.
- ⚠️ Ejemplo de 'getUser': La inferencia de tipos incluye 'password', mientras que un tipo de retorno lo omite erróneamente.
- 🔄 Sobrecarga y tipos de retorno: Pueden dar resultados incorrectos si no se manejan adecuadamente.
- 📝 La inferencia de tipos es más segura y cercana a la verdad en la mayoría de los casos.
- 🌐 El consenso general entre los expertos es preferir la inferencia de tipos.
- 💬 Comentarios de expertos: La mayoría prefiere la inferencia de tipos por su precisión y seguridad.
Q & A
¿Por qué es importante discutir cómo se deben escribir las funciones en TypeScript?
-Es importante porque hay muchas opiniones erróneas sobre cómo se deben escribir las funciones, y entenderlo mejor puede mejorar la calidad y la seguridad del código.
¿Qué es un 'contrived inferred example' y por qué se utiliza en el script?
-Es un ejemplo artificial creado para ilustrar un concepto específico, en este caso, para demostrar cómo TypeScript infiere tipos sin especificarlos explícitamente.
¿Por qué se recomienda evitar los tipos de retorno en ciertos casos según el script?
-Se recomienda evitar los tipos de retorno cuando se pueden inferir correctamente por TypeScript, ya que los tipos inferidos pueden ser más precisos y revelan la 'verdad' sobre lo que realmente se está devolviendo.
¿Qué es 'as const' y cómo afecta la inferencia de tipos en TypeScript?
-'as const' es una forma de hacer que TypeScript trate los valores como constantes en lugar de como tipos más genéricos, lo que puede resultar en un tipo más estricto y preciso.
¿Cómo se puede usar la inferencia de 'as const' para mejorar la precisión del tipo de retorno de una función?
-Al usar 'as const', TypeScript garantiza que el tipo devuelto sea exactamente el resultado de la función, sin ambigüedades ni generalizaciones innecesarias.
¿Por qué pueden ser los tipos de retorno considerados como 'mentirosos' según el script?
-Los tipos de retorno pueden ser considerados 'mentirosos' porque a veces no reflejan con precisión lo que realmente se está devolviendo, lo que puede llevar a errores o malentendidos en el código.
¿Qué es un 'diagrama de tipos' y cómo se utiliza en el script para ilustrar un punto?
-Un 'diagrama de tipos' es una representación gráfica que muestra las relaciones entre diferentes tipos posibles y la 'verdad' del tipo real. Se utiliza para ilustrar cómo las diferentes soluciones se relacionan con la 'verdad' y cuánto se alejan de ella.
¿Qué ejemplo se utiliza para mostrar cómo los tipos de retorno pueden 'mentir' en el caso de un objeto 'User'?
-Se utiliza un ejemplo donde una función 'getUser' devuelve un objeto 'User' con un campo 'password' que no debería estar presente, pero que se incluye en el tipo de retorno, lo cual es incorrecto y puede causar confusiones.
¿Qué es 'getUser override' y cómo puede ser problemático según el script?
-'getUser override' es una forma de especificar un tipo de retorno específico para una función sobrescrita. Puede ser problemático porque puede inducir a errores al no reflejar correctamente los valores que se están devolviendo.
¿Por qué se sugiere ser cauteloso con los tipos de retorno y cómo se puede mejorar la inferencia de tipos?
-Se sugiere ser cauteloso con los tipos de retorno porque pueden contener información incorrecta o incompleta. Para mejorar la inferencia de tipos, se puede confiar en la inferencia de TypeScript por defecto y utilizar 'as const' cuando sea necesario para una precisión más estricta.
Outlines
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowMindmap
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowKeywords
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowHighlights
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowTranscripts
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowBrowse More Related Video
14.5 - Funciones con tipado definido en PHP - Curso PHP 8 desde cero (Actualizado)
La máscara en el teatro
Qué tan inútiles son los Dividendos? Depende
Roe y Roa: explicación, formula e interpretación
LA IMAGEN DE MARCA - 2DA PARTE - Curso online de Semiótica
Bloques de comando en Minecraft - conceptos básicos
5.0 / 5 (0 votes)