Una sencilla introducción a Typescript

Una breve introducción a algunos conceptos de Typescript

compilador de mecanografiado

El compilador de TypeScript es un programa de JavaScript que convierte código de TypeScript en código de JavaScript sin formato. Está escrito en TypeScript y se puede ejecutar en cualquier plataforma que admita JavaScript. El compilador de TypeScript es de código abierto y está disponible en GitHub. Microsoft desarrolla y mantiene el compilador y se puede usar desde la línea de comandos, o se puede usar como un complemento para IDE populares como Visual Studio y WebStorm.

El compilador de TypeScript puede emitir código JavaScript que es compatible con diferentes tiempos de ejecución de JavaScript, como Node.js, Internet Explorer y Chrome. También puede generar mapas de origen, que asignan el código JavaScript generado al código TypeScript. Esto permite la depuración del código TypeScript en el navegador.

El compilador se puede configurar para verificar errores de tipo e informará errores si encuentra alguno. La verificación de tipos se puede desactivar si se desea. El compilador de TypeScript está disponible bajo la licencia de código abierto Apache 2.0.

No es un lenguaje fuertemente tipado

Typescript no es un lenguaje fuertemente tipado porque no requiere que las variables se declaren con un tipo específico. Esto significa que una variable puede declararse como de un tipo y luego reasignarse a un valor de otro tipo. Esto puede generar errores si la variable se usa de una manera que no es compatible con el tipo que se ha declarado.

Un ejemplo básico para ilustrar esta característica se puede mostrar con el tipo "cualquiera".

// We initialze the variable as a string.
const something: any = "Tom";

// Now it's a number. This is valid TypeScript code.
something = 42;

Compilando TypeScript a JavaScript

El compilador de TypeScript toma el código TypeScript y lo convierte en código JavaScript sin formato. Este proceso se conoce como transpilación. El compilador primero analiza el código TypeScript, que busca errores de sintaxis. Si no se encuentran errores, el compilador busca errores de tipo. Si se encuentran errores de tipo, el compilador los informará y saldrá.

Si no se encuentran errores de tipo, el compilador continuará y emitirá el código JavaScript. El código JavaScript emitido será compatible con el tiempo de ejecución de JavaScript de destino que se especifica.

El compilador de TypeScript también puede generar mapas de origen, que asignan el código JavaScript generado al código de TypeScript. Esto permite la depuración del código TypeScript en el navegador.

Servidor de lenguaje TypeScript

El servidor de lenguaje de TypeScript es un servidor de lenguaje que proporciona funciones como finalización de código, ir a definición y verificación de tipos para proyectos de TypeScript.

El servidor de idioma es necesario para que el compilador de TypeScript pueda proporcionar estas funciones. Sin el servidor de idioma, el compilador de TypeScript solo podría proporcionar funciones básicas como el resaltado de sintaxis y el formato de código. El servidor de lenguaje TypeScript es de código abierto y está disponible en GitHub.

Pasos para crear un proyecto TypeScript

Antes de describir los pasos, aquí está el comando para inicializar un proyecto de TypeScript en su terminal.

npx tsc --init

Descripción: Instala el compilador de TypeScript. Cree un archivo tsconfig.json en la raíz del proyecto. Este archivo contiene las opciones del compilador para el compilador de TypeScript. Agregue el directorio src al archivo tsconfig.json. Aquí es donde se ubicarán los archivos fuente de TypeScript.

Agregue un archivo main.ts en el directorio src. Este es el punto de entrada para el programa TypeScript. Compile el código TypeScript ejecutando tsc desde la línea de comando. Esto generará los archivos JavaScript en el directorio src. Ejecute el programa TypeScript ejecutando node main.js desde la línea de comandos.

Diferencias entre TypeScript y JavaScript

Existen algunas diferencias clave entre TypeScript y otros lenguajes fuertemente tipados: TypeScript es un superconjunto de JavaScript, lo que significa que cualquier código JavaScript válido también es código TypeScript válido. Esto hace que sea fácil de adoptar para proyectos de JavaScript existentes.

TypeScript utiliza un sistema de tipos opcional, lo que significa que se pueden especificar tipos para las variables, pero no es obligatorio. Otros lenguajes fuertemente tipados, como Swift y Kotlin, usan un sistema de tipos obligatorio, que requiere que todas las variables se declaren con un tipo específico.

TypeScript admite genéricos, lo que permite colecciones con seguridad de tipos y otras estructuras de datos. Esto no está disponible en JavaScript.

¿Cuándo debo usar Javascript en lugar de Typescript para codificar?

No existe una regla estricta sobre cuándo usar JavaScript o TypeScript. Depende del desarrollador elegir la herramienta adecuada para el trabajo. Sin embargo, hay algunas pautas generales que se pueden seguir.

Si un proyecto ya está escrito en JavaScript, generalmente es mejor continuar usando JavaScript. No es necesario convertir el código a TypeScript solo por usar TypeScript. Pero tenga en cuenta que el mantenimiento de un proyecto de JavaScript puede ser más difícil debido a la falta de un sistema de tipo que conduce a errores ocultos. Por lo tanto, es mejor considerar la adopción de TypeScript si el proyecto se mantendrá (y ampliará) en el futuro.

Si un proyecto comienza desde cero, generalmente es mejor usar TypeScript. Esto permitirá una mejor organización y mantenimiento del código a largo plazo.

Ejemplos simples

// TypeScript.
class Person {
  name: string;
  age: number;
}

const person: Person = new Person();
const person.name = "Tom";
const person.age = 42;

// JavaScript.
var Person = function() {};
Person.prototype.name = "";
Person.prototype.age = 0;

// TypeScript.
// Here's we're also using the class, but this
// time conforming to an interface, something that
// doesn't exist in JavaScript.
interface IPerson {
  name: string;
  age: number;
}

class Person implements IPerson {
  name: string;
  age: number;
}

// JavaScript.
var IPerson = function() {};
IPerson.prototype.name = "";
IPerson.prototype.age = 0;

var Person = function() {};
Person.prototype = Object.create(IPerson);

palabras de cierre

TypeScript es un lenguaje poderoso que puede ayudar a mejorar la calidad de su código. Es fácil comenzar y se puede usar en cualquier plataforma que admita JavaScript. Este artículo solo dio una breve introducción, ya que el lenguaje proporciona muchas más funciones y conceptos para aprender ahora.

Consulte los enlaces en el apéndice al final de la página para obtener algunos materiales de aprendizaje útiles.