Artículos de Tecnología > Front End

Javascript o Typescript

felipe-nascimento
felipe-nascimento

Javascript es un lenguaje de programación fácil de iniciar. Se puede usar del lado del cliente y/o del lado del servidor, es un lenguaje dinámico y flexible, tiene un ecosistema maduro, tiene primitivas de lenguaje como cadena, número y objeto, pero no verifica que hayas tipos asignados y aquí es donde comienza el debate.

Al ser un lenguaje de tipo dinámico, esto significa que JavaScript no sabe cuál es el tipo de una variable hasta que se crea una instancia en tiempo de ejecución. También significa que podría ser demasiado tarde.

TypeScript

Segun la documentación https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html

TypeScript mantiene una relación inusual con JavaScript, es decir, ofrece todas las características de JavaScript y una capa adicional sobre ellas: el sistema de tipos de TypeScript.

Por ejemplo, en esta función:

function aumento(salario, aumento){
 return salario + aumento}
aumento(10, "30")

Solo descubriremos el error cuando el código se ejecute en el navegador, ya que TypeScript agrega soporte de tipo para JavaScript y detecta errores de tipo durante la compilación. Si le pasamos este código a Typescript:

IMAGEM 02

El mensaje de error aparecerá justo frente a nosotros diciendo que esperábamos dos números enteros y pasamos un número entero y una cadena en el parámetro debido al sistema de escritura.

Otra característica interesante es que en JavaScript es muy común que creemos objetos y pasemos algunas características, como por ejemplo:

const producto = {
 id: 1, 
nombre: "vaso",
};

Con TypeScript mantenemos la misma estructura, pero usamos una interfaz:

interface Producto {
 id: number; 
name: string; 
}

Usar TypeScript te traerá algunas ventajas como:

Sin embargo, adoptar TypeScript puede hacer que la productividad del equipo baje al principio, ya que hay una curva de aprendizaje que no se puede ignorar, otro punto es que para usar TypeScript, necesita un proceso de construcción para compilar en código JavaScript. El proceso de compilación puede llevar algún tiempo dependiendo del tamaño de su proyecto.

Si usa JavaScript en proyectos NextJS, por ejemplo, una alternativa a hacer esta verificación de tipos es usar PropTypes

import PropTypes from 'prop-types';
// código omitido
*export const Link = ({ children, href, ...props }) => ( 
    <NextLink href={href} passHref>  
      <StyledLink {...props}>  
        {children} 
         </StyledLink> 
    </NextLink>
);

Link.propTypes = { 
    href: PropTypes.string.isRequired, 
    children: PropTypes.node.isRequired,
};

Siempre recordando que TypeScript no es una solución mágica que resuelve todos los problemas en JavaScript y tampoco es un reemplazo total.

¿Te gustó el contenido y quieres aprender más sobre él? Luego acceda al Entrenamiento Front-end de Alura y sumérjete en las formaciones de JavaScript.

Preguntas frecuentes: ¿Qué es TypeScript?

TypeScript es un lenguaje de programación y también un superconjunto de JavaScript. Esto significa que todo el código JavaScript es perfectamente aceptado en un programa TypeScript, añadiendo una serie de funciones adicionales, especialmente relacionadas con la escritura.

¿Cuáles son las ventajas de TypeScript?

Hay varias ventajas, especialmente relacionadas con la escritura estática:

Error más rápido y retroalimentación en tiempo de compilación;Proceso de refactorización más fácil;Autocompletar idioma;Posibilidad de migrar de idioma poco a pocoTener una gran empresa detrás para aportar agilidad en las nuevas versiones, en este caso Microsoft.

¿Cuál es la diferencia entre JavaScript y TypeScript?

Son dos lenguajes de programación diferentes, pero uno es el superconjunto del otro. TypeScript es ese superconjunto, lo que le permite usar absolutamente todo JavaScript válidamente. Es decir, todo su código JavaScript es TypeScript válido (pero no al revés). La principal diferencia estará en relación con la tipificación de datos, el uso de clases, los mecanismos de abstracción, que son mucho más fuertes.

Felipe Nascimento

Desarrollador e instructor en Alura con un enfoque en JavaScript.

Artículos de Tecnología > Front End

En Alura encontrarás variados cursos sobre Front End. ¡Comienza ahora!

Semestral

  • 265 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri powered by ChatGPT

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 6 meses
US$65,90
un solo pago de US$65,90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Anual

  • 265 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri powered by ChatGPT

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 12 meses
US$99,90
un solo pago de US$99,90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Acceso a todos
los cursos

Estudia las 24 horas,
dónde y cuándo quieras

Nuevos cursos
cada semana