TypeScript: descripción general
JavaScript se introdujo como lenguaje para el lado del cliente. El desarrollo de Node.js también ha marcado a JavaScript como una tecnología emergente del lado del servidor. Sin embargo, a medida que el código JavaScript crece, tiende a complicarse más, lo que dificulta el mantenimiento y la reutilización del código. Además, su incapacidad para adoptar las características de la Orientación a objetos, la verificación de tipos sólida y las verificaciones de errores en tiempo de compilación evitan que JavaScript tenga éxito a nivel empresarial como una tecnología completa del lado del servidor.TypeScript se presentó para cerrar esta brecha.
¿Qué es TypeScript?
Por definición, "TypeScript es JavaScript para el desarrollo a escala de aplicaciones".
TypeScript es un lenguaje compilado, orientado a objetos y fuertemente tipado. Fue diseñado porAnders Hejlsberg(diseñador de C #) en Microsoft. TypeScript es tanto un lenguaje como un conjunto de herramientas. TypeScript es un superconjunto escrito de JavaScript compilado en JavaScript. En otras palabras, TypeScript es JavaScript más algunas características adicionales.
Características de TypeScript
TypeScript is just JavaScript. TypeScript comienza con JavaScript y termina con JavaScript. Typecript adopta los bloques de construcción básicos de su programa de JavaScript. Por lo tanto, solo necesita saber JavaScript para usar TypeScript. Todo el código TypeScript se convierte en su equivalente de JavaScript para su ejecución.
TypeScript supports other JS libraries. TypeScript compilado se puede consumir desde cualquier código JavaScript. JavaScript generado por TypeScript puede reutilizar todos los marcos, herramientas y bibliotecas de JavaScript existentes.
JavaScript is TypeScript. Esto significa que cualquier.js el archivo se puede renombrar a .ts y compilado con otros archivos TypeScript.
TypeScript is portable. TypeScript es portátil en navegadores, dispositivos y sistemas operativos. Puede ejecutarse en cualquier entorno en el que se ejecute JavaScript. A diferencia de sus contrapartes, TypeScript no necesita una máquina virtual dedicada o un entorno de tiempo de ejecución específico para ejecutarse.
TypeScript y ECMAScript
La especificación ECMAScript es una especificación estandarizada de un lenguaje de secuencias de comandos. Se han publicado seis ediciones de ECMA-262. La versión 6 del estándar tiene el nombre en código "Harmony". TypeScript está alineado con la especificación ECMAScript6.
TypeScript adopta sus características básicas de lenguaje de la especificación ECMAScript5, es decir, la especificación oficial de JavaScript. Las características del lenguaje TypeScript, como los módulos y la orientación basada en clases, están en línea con la especificación EcmaScript 6. Además, TypeScript también incluye características como genéricos y anotaciones de tipo que no forman parte de la especificación EcmaScript6.
¿Por qué utilizar TypeScript?
TypeScript es superior a sus otras contrapartes como los lenguajes de programación CoffeeScript y Dart de una manera que TypeScript es JavaScript extendido. En contraste, lenguajes como Dart, CoffeeScript son nuevos lenguajes en sí mismos y requieren un entorno de ejecución específico del lenguaje.
Los beneficios de TypeScript incluyen:
Compilation- JavaScript es un lenguaje interpretado. Por lo tanto, debe ejecutarse para probar que es válido. Significa que escribe todos los códigos para no encontrar salida, en caso de que haya un error. Por lo tanto, debe pasar horas tratando de encontrar errores en el código. El transpilador de TypeScript proporciona la función de comprobación de errores. TypeScript compilará el código y generará errores de compilación, si encuentra algún tipo de error de sintaxis. Esto ayuda a resaltar los errores antes de que se ejecute el script.
Strong Static Typing- JavaScript no está fuertemente tipado. TypeScript viene con un sistema opcional de escritura estática e inferencia de tipos a través de TLS (Servicio de lenguaje TypeScript). El TLS puede inferir el tipo de una variable, declarada sin tipo, en función de su valor.
Mecanografiado supports type definitionspara las bibliotecas de JavaScript existentes. Archivo de definición de TypeScript (con.d.tsextensión) proporciona una definición para bibliotecas JavaScript externas. Por lo tanto, el código TypeScript puede contener estas bibliotecas.
Mecanografiado supports Object Oriented Programming conceptos como clases, interfaces, herencia, etc.
Componentes de TypeScript
En esencia, TypeScript tiene los siguientes tres componentes:
Language - Se compone de la sintaxis, palabras clave y anotaciones de tipo.
The TypeScript Compiler - El compilador de TypeScript (tsc) convierte las instrucciones escritas en TypeScript a su equivalente de JavaScript.
The TypeScript Language Service- El "Servicio de idiomas" expone una capa adicional alrededor de la canalización del compilador central que son aplicaciones similares a un editor. El servicio de idiomas admite el conjunto común de operaciones típicas de un editor, como finalización de declaraciones, ayuda de firma, formateo y esquema de código, coloración, etc.
Archivos de declaración
Cuando se compila un script de TypeScript, existe una opción para generar un declaration file (con la extensión .d.ts) que funciona como una interfaz para los componentes del JavaScript compilado. El concepto de archivos de declaración es análogo al concepto de archivos de encabezado que se encuentra en C / C ++. Los archivos de declaración (archivos con.d.ts extensión) proporcionan intellisense para tipos, llamadas a funciones y soporte de variables para bibliotecas JavaScript como jQuery, MooTools, etc.