Botón para abrir el Menú Botón para cerrar el Menú
Logo da empresa Alura
Iniciar Sesión Nuestros Planes
Formaciones Conoce a Luri
  • Programación _
  • Front End _
  • Data Science _
  • DevOps _
  • Innovación y Gestión _
Artículos de Tecnología > Front End

Javascript o Typescript

Javascript o Typescript
felipe-nascimento
felipe-nascimento
26/05/2023

Compartir

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:

  • Retroalimentación de error más rápida;

  • Proceso de refactorización más fácil;

  • Idioma autocompletado, muy bueno en VS code;

  • Ser capaz de adoptar gradualmente el mecanografiado en una base de código;

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ículo Anterior
Higher Order Functions: ¿qué son?
Siguiente Artículo
¿Qué es HTML y sus tags? Estructura básica

Ver otros artículos sobre Front End

Navegación

  • Planes
  • Instructores
  • Blog
  • Política de privacidad
  • Términos de uso
  • Sobre nosotros
  • Preguntas frecuentes

¡CONTÁCTANOS!

  • ¡Quiero entrar en contacto!

Blog

  • Programación
  • Data Science
  • Front End
  • Innovación y Gestión
  • DevOps

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

NOVEDADES Y LANZAMIENTOS

Aliados

  • Programa de aceleração Scale-Up Endeavor
  • En Alura somos unas de las Scale-Ups seleccionadas por Endeavor, programa de aceleración de las empresas que más crecen en el país.
  • Growth Academy 2021 do Google For Startups
  • Fuimos unas de las 7 startups seleccionadas por Google For Startups en participar del programa Growth Academy en 2021
Alura

Powered by

Caelum

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

Cursos

Cursos de Programación
Lógica de Programación | Java
Cursos de Front End
HTML y CSS | JavaScript | React
Cursos de Data Science
Data Science | Machine Learning | Excel | Base de Datos | Data Visualization | Estadística
Cursos de DevOps
Docker | Linux
Cursos de Innovación y Gestión
Transformación Ágil | Marketing Analytics

Alura

  • Educação em Tecnologia

    • logo fiap FIAP
    • logo casa do codigo Casa do Código
    • logo pm3 PM3 - Cursos de Produto
  • Mais Alura

    • logo alura start START BY Alura
    • logo alura lingua Alura Língua
    • logo alura para empresas Alura Para Empresas
    • logo alura latam Alura LATAM
  • Comunidade

    • logo tech guide Tech Guide
    • logo 7 days of code 7 days of code
    • logo Hipsters ponto Jobs Hipsters ponto Jobs
  • Podcasts

    • logo Hipster Network Hipster Network
    • logo Hipsters ponto Tech Hipsters ponto Tech
    • logo Dev sem fronteiras Dev sem Fronteiras
    • logo Like a Boss Like a Boss
    • logo IA Sob Controle IA Sob Controle
    • logo Mesa de Produto Mesa de Produto
    • logo Decode Decode
    • logo FIAPCast FIAPCast