Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

Typescript vs Javascript – Entendiendo la diferencia

Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Una de las preguntas más frecuentes que recibo es, ¿cuál es la diferencia entre JavaScript y Typecript?

Vamos a averiguar…

Desde el momento en que comenzó a codificar, JavaScript (JS) habría sido parte de todos sus proyectos de front-end. Si está un poco familiarizado con JS, piense en TypeScript como JS más algunas características adicionales que hacen que su aplicación sea más ordenada y mecanografiado. El typeScript fue desarrollado como un proyecto de código abierto por Microsoft para hacer que el desarrollo de JS sea más eficiente y detectar errores de compilación desde el principio.

En este artículo, discutiremos algunas características importantes de JavaScript y TypeScript y las diferencias entre ambos lenguajes de script.

What is JavaScript?

JavaScript se utiliza para las secuencias de comandos del lado del cliente. Puede crear un script en una página HTML o crear un archivo con extensión .js e incluirlo en su archivo HTML. Un ejemplo común del mundo real en el que puede ver JavaScript es la validación de la página de inicio de sesión, donde se muestra un error cuando su nombre de usuario / contraseña es incorrecto.

Escribamos un código JS simple y ejecútelo en el navegador:

Cree un archivo example.html y agregue el siguiente código:

<script>

feeling = 'happy';

feeling = 23;

</script>

Este código simple declara una variable y le asigna un valor de happy (cadena). Podemos asignar un valor de un tipo diferente (número) a la misma variable. JavaScript no se quejaría de ello y podemos ejecutar el código en cualquier navegador sin ningún problema. Ahora, obtengamos el valor de sentir del usuario:

Nuestro HTML se verá así:

<input type = "textbox" id = "howyoufeel">

y el guión será:

feeling = document.getElementById("howyoufeel").value;

A menos que pongamos verificaciones explícitas en el script, JS aceptará cualquier valor del usuario y lo pasará. Entonces, puede poner cualquier cosa como 234, @. # $%, Etc. en la variable sentimiento.

Features of JavaScript

De lo anterior, podemos observar las siguientes características de JavaScript:

  • Lenguaje de secuencias de comandos débilmente tipado
  • Se utiliza para secuencias de comandos del lado del cliente y del lado del servidor (con node.js)
  • Flexible y dinámico
  • Compatible con los principales navegadores
  • Ligero e interpretado

Si está interesado en dominar JavaScript, consulte este Curso Udemy.

What is TypeScript?

Una aplicación del mundo real tendrá muchas validaciones y comprobaciones dinámicas. Para tales aplicaciones, el código JavaScript será difícil de probar en algún momento, principalmente porque no hay verificación de tipos. Al obtener los valores de los usuarios, es importante obtenerlos desde el principio. Aquí es donde interviene TypeScript.

TypeScript es fuertemente mecanografiado y tiene un compilador que se queja si no define el tipo de una variable.

Tanto JavaScript como TypeScript cumplen con las especificaciones ECMAScript para un lenguaje de secuencias de comandos. TypeScript puede ejecutar todo el código JavaScript y es compatible con todas sus bibliotecas, por eso se le llama el superconjunto de JavaScript.

Instalación de TypeScript

Para ejecutar nuestro código anterior en TypeScript, necesitamos instalar el compilador de TypeScript usando el paquete npm (si tiene nodo js).

npm install -g typescript

o descárgalo directamente del oficial Página de descargas de Microsoft. También puedes usar el TS patio de recreo para ver cómo se transcompila el código de ts a js.

Una vez hecho esto, puede configurar los ajustes del proyecto en tsconfig.json y usa cualquier IDE or editor de texto para escribir código TypeScript y guardarlo como .ts.

Aún puede escapar si no define el tipo de variable y TypeScript puede inferir el tipo de datos. Sin embargo, obtendrá un error de 'sensación' si da algo que no sea el primer tipo utilizado (en nuestro caso, una Cadena), durante la compilación en sí.

Siempre es bueno que el código tenga una anotación de tipo para facilitar el mantenimiento y el uso:

var feeling: string = “happy”;

¡Eso no es!

TypeScript proporciona muchas otras funciones para facilitar la vida de un desarrollador.

Features of TypeScript

TypeScript tiene un rico conjunto de funciones y cada versión viene con nuevas funciones para hacer que el desarrollo sea más fácil que antes. Por ejemplo, con la nueva versión (4.0), algunas características adicionales son tipos de tuplas variadas, fábricas JSX personalizadas, inferencia de propiedades de clase a partir de constructores, etc. Algunas características típicas de TypeScript son:

  • Admite conceptos de programación orientados a objetos como interfaz, herencia, clase. genéricos
  • Detección temprana de errores
  • Soporte IDE con verificación de sintaxis y sugerencias
  • Más fácil de depurar a medida que se escribe
  • Trans-compila en JavaScript
  • Se utiliza tanto para aplicaciones del lado del servidor como del lado del cliente
  • Soporte multiplataforma y multiplataforma
  • Soporta todos los Bibliotecas JS y extensiones

Why do we need TypeScript? (Advantages of TypeScript over JavaScript)

Microsoft desarrolló y usó TypeScript durante dos años para sus proyectos internos antes de hacerlo público en 2012. Crearon un JavaScript escrito porque era más fácil probar el código para aplicaciones empresariales de nivel de producción. Puede seguir utilizando las funciones de escritura dinámica pero también escribir las variables cuando sea realmente necesario.

Considere el siguiente código:

var mynum  = //get from user;

addten(number){

return number + 10;

}

Es de esperar que el resultado sea siempre un número. Pero, ¿qué pasa si un usuario da "oveja"? La salida será oveja10; lo ideal es decirle al usuario que esta operación no es posible.

Además, cuando tiene la información de tipo disponible, los editores de texto y los IDE se vuelven más fáciles de usar y ahorran errores de tiempo de ejecución. También es más fácil refactorizar el código en un momento posterior.

Does that mean we don’t need JavaScript? (Disadvantages of TypeScript over JavaScript)

Puede pensar en TypeScript como una extensión de JavaScript, pero ciertamente no como un reemplazo.

Para fragmentos de código más pequeños, TypeScript puede convertirse en una sobrecarga: instalar, compilar y transcompilar será redundante. Con JavaScript, simplemente puede escribir su secuencia de comandos en HTML y funcionará. También es más fácil depurar el código cuando simplemente puede actualizar el navegador cada vez que cambia algo.

Head-to-head comparison

Ahora que hemos entendido las características y ventajas de TypeScript y JavaScript, veamos más comparaciones:

Mecanografiado JavaScript
Un lenguaje escrito que detecta errores de compilación desde el principio Puede encontrar errores durante el tiempo de ejecución
Adecuado para proyectos grandes, ya que mejora la facilidad de mantenimiento y la legibilidad del código. A medida que se agrega más código, se vuelve difícil de probar y depurar, por lo que JS es adecuado para proyectos pequeños
Superconjunto de JS, es decir, características como orientación a objetos, verificación de tipos y más Un lenguaje de secuencias de comandos que admite la creación dinámica de contenido web.
Requiere instalación del compilador y configuración de configuración No es necesaria ninguna instalación; El código JS se puede escribir directamente en un navegador usando tag
Todos los archivos .ts se convierten a archivos .js antes de la ejecución; conocido como trans-compilación Los desarrolladores pueden incluir directamente archivos .js dentro de archivos HTML para su ejecución utilizando etiqueta.
Potente e intuitivo con funciones ricas como módulos, genéricos, interfaces Adecuado para aplicaciones web simples que no requieren funciones avanzadas
Se utiliza para secuencias de comandos del lado del servidor y del lado del cliente Fácil de usar para las secuencias de comandos del lado del cliente, pero se vuelve pesado y complejo para las secuencias de comandos del lado del servidor
Se tarda en ejecutar debido al paso de compilación No se requiere compilación, por lo tanto, una ejecución más rápida
Admite escritura estática y dinámica Admite solo escritura dinámica
Podemos especificar el tipo de anotación como:

var feeling: string = “happy”;

Las anotaciones de tipo no se pueden especificar porque no podemos definir tipos.

Conclusión

Desde una perspectiva de aprendizaje, JavaScript podría ser su elección natural. Abres un archivo, escribes algo dentro <script></script> etiquetas, guárdelo como HTML - ¡verá los resultados! Luego, puede aprovecharlo para crear contenido más dinámico.

Además, cuando esté trabajando en una aplicación a gran escala, tener conocimientos de JavaScript le ayudará a cambiar fácilmente a TypeScript.

Sin embargo, desde una perspectiva profesional y salarial, como Desarrollador TypeScript, será más flexible y se sentirá más cómodo con los proyectos JS y TS, por lo que definitivamente será un mejor activo en el mercado. Por lo general, a los desarrolladores de TypeScript se les paga entre $ 110 y $ 147, mientras que a los desarrolladores de JS se les paga entre $ 63 y $ 118 por año.

Gracias a nuestros patrocinadores
Más lecturas interesantes sobre el desarrollo
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Intente Intruder