TypeScript es un lenguaje de programación desarrollado y mantenido por Microsoft . Es un superconjunto sintáctico estricto de JavaScript y agrega escritura estática opcional al lenguaje. TypeScript está diseñado para el desarrollo de grandes aplicaciones y transcompila a JavaScript. [4] Como TypeScript es un superconjunto de JavaScript, los programas JavaScript existentes también son programas TypeScript válidos.
Paradigma | Multi-paradigma : funcional , genérico , imperativo , orientado a objetos |
---|---|
Diseñada por | Microsoft |
Desarrollador | Microsoft |
Apareció por primera vez | 1 de octubre de 2012 [1] |
Lanzamiento estable | 4.2.4 / 9 de abril de 2021 [2] |
Versión de vista previa | 4.3 Beta / 9 de abril de 2021 [2] |
Disciplina de mecanografía | Pato , gradual , estructural [3] |
Licencia | Licencia Apache 2.0 |
Extensiones de nombre de archivo | .ts, .tsx |
Sitio web | www |
Influenciado por | |
C # , Java , JavaScript | |
Influenciado | |
AtScript , AssemblyScript |
Letra de imprenta se puede utilizar para desarrollar aplicaciones JavaScript para tanto del lado del cliente y del lado del servidor de ejecución (como con Node.js o Deno ). Hay varias opciones disponibles para la transcompilación. Se puede utilizar el Comprobador de TypeScript predeterminado, [5] o se puede invocar el compilador de Babel para convertir TypeScript a JavaScript.
TypeScript admite archivos de definición que pueden contener información sobre tipos de bibliotecas JavaScript existentes, al igual que los archivos de encabezado de C ++ pueden describir la estructura de archivos de objetos existentes . Esto permite que otros programas utilicen los valores definidos en los archivos como si fueran entidades TypeScript de tipo estático. Hay archivos de cabecera de terceros para las bibliotecas populares, tales como jQuery , MongoDB , y D3.js . Los encabezados de TypeScript para los módulos básicos de Node.js también están disponibles, lo que permite el desarrollo de programas de Node.js dentro de TypeScript. [6]
El compilador de TypeScript está escrito en TypeScript y compilado en JavaScript. Tiene licencia de Apache License 2.0 . TypeScript se incluye como un lenguaje de programación de primera clase en Microsoft Visual Studio 2013 Update 2 y versiones posteriores, junto con C # y otros lenguajes de Microsoft. [7] Una extensión oficial permite que Visual Studio 2012 también sea compatible con TypeScript. [8] Anders Hejlsberg , arquitecto principal de C # y creador de Delphi y Turbo Pascal , ha trabajado en el desarrollo de TypeScript. [9] [10] [11] [12]
Historia
TypeScript se hizo público por primera vez en octubre de 2012 (en la versión 0.8), después de dos años de desarrollo interno en Microsoft. [13] [14] Poco después del anuncio, Miguel de Icaza elogió el lenguaje en sí, pero criticó la falta de soporte IDE maduro aparte de Microsoft Visual Studio , que no estaba disponible en Linux y OS X en ese momento. [15] [16] A partir de abril de 2021 hay soporte en otros IDE y editores de texto, incluidos Emacs , Vim , Webstorm , Atom [17] y el propio Visual Studio Code de Microsoft . [18]
TypeScript 0.9, lanzado en 2013, agregó soporte para genéricos. [19] TypeScript 1.0 se lanzó en la conferencia de desarrolladores Build de Microsoft en 2014. [20] Visual Studio 2013 Update 2 proporciona soporte integrado para TypeScript. [21]
En julio de 2014, el equipo de desarrollo anunció un nuevo compilador de TypeScript, afirmando ganancias de rendimiento 5 veces mayores. Simultáneamente, el código fuente, que inicialmente estaba alojado en CodePlex , se movió a GitHub . [22]
El 22 de septiembre de 2016, se lanzó TypeScript 2.0; introdujo varias características, incluida la capacidad de los programadores para evitar opcionalmente que se asignen null
valores a las variables , [23] a veces denominado el error de los mil millones de dólares .
TypeScript 3.0 se lanzó el 30 de julio de 2018, [24] trayendo muchas adiciones de lenguaje como tuplas en parámetros de descanso y expresiones extendidas, parámetros de descanso con tipos de tupla, parámetros de descanso genéricos, etc. [25]
TypeScript 4.0 se lanzó el 20 de agosto de 2020. [26] Si bien 4.0 no introdujo ningún cambio importante, agregó características de lenguaje como Custom JSX Factories y Variadic Tuple Types. [26]
Diseño
TypeScript se originó a partir de las deficiencias de JavaScript para el desarrollo de aplicaciones a gran escala tanto en Microsoft como entre sus clientes externos. [27] Los desafíos al tratar con código JavaScript complejo llevaron a la demanda de herramientas personalizadas para facilitar el desarrollo de componentes en el lenguaje. [28]
Los desarrolladores de TypeScript buscaron una solución que no rompiera la compatibilidad con el estándar y su soporte multiplataforma. Sabiendo que la propuesta estándar actual de ECMAScript prometía soporte futuro para la programación basada en clases , TypeScript se basó en esa propuesta. Eso llevó a un compilador de JavaScript con un conjunto de extensiones de lenguaje sintáctico, un superconjunto basado en la propuesta, que transforma las extensiones en JavaScript normal. En este sentido, TypeScript fue una vista previa de lo que se puede esperar de ECMAScript 2015. Un aspecto único que no está en la propuesta, pero que se agregó a TypeScript, es la escritura estática opcional [29] que permite el análisis de lenguaje estático, lo que facilita el soporte de herramientas y IDE.
Compatibilidad con ECMAScript 2015
TypeScript agrega soporte para características como clases, módulos y una sintaxis de función de flecha como se define en el estándar ECMAScript 2015.
Características
TypeScript es una extensión de lenguaje que agrega características a ECMAScript 6. Las características adicionales incluyen:
- Tipo de anotaciones y verificación de tipos en tiempo de compilación
- Inferencia de tipo
- Borrado de tipo
- Interfaces
- Tipos enumerados
- Genéricos
- Espacios de nombres
- Tuplas
- Async / await
Las siguientes características están respaldadas desde ECMAScript 2015:
- Clases
- Módulos [30]
- Sintaxis de "flecha" abreviada para funciones anónimas
- Parámetros opcionales y parámetros predeterminados
Sintácticamente, TypeScript es muy similar a JScript .NET , otra implementación de Microsoft del estándar de lenguaje ECMA-262 que agregó soporte para escritura estática y características clásicas del lenguaje orientado a objetos como clases, herencia, interfaces y espacios de nombres.
Compatibilidad con JavaScript
TypeScript es un superconjunto estricto de ECMAScript 2015, que en sí mismo es un superconjunto de ECMAScript 5, comúnmente conocido como JavaScript. [31] Como tal, un programa JavaScript también es un programa TypeScript válido, y un programa TypeScript puede consumir JavaScript sin problemas. De forma predeterminada, el compilador tiene como objetivo ECMAScript 5, el estándar actual predominante, pero también puede generar construcciones utilizadas en ECMAScript 3 o 2015.
Con TypeScript, es posible utilizar código JavaScript existente, incorporar bibliotecas JavaScript populares y llamar a código generado por TypeScript desde otro JavaScript. [32] Las declaraciones de tipo para estas bibliotecas se proporcionan con el código fuente.
Escribir anotaciones
TypeScript proporciona escritura estática a través de anotaciones de tipo para permitir la verificación de tipos en tiempo de compilación . Esto es opcional y se puede ignorar para usar la escritura dinámica regular de JavaScript.
función sumar ( izquierda : número , derecha : número ) : número { volver izquierda + derecha ; }
Las anotaciones para los tipos primitivos son number
, boolean
y string
. Letra de imprenta también es compatible con los tipos de datos siguientes anotaciones Array
, Enums
, void
.
Tipos de datos recién introducidos son: Tuple
, Union
, never
y any
. Una matriz con tipos de datos predefinidos en cada índice es Tuple
type. Una variable que contiene más de un tipo de datos es Union
type. Cuando esté seguro de que algo nunca sucederá, utilice el never
tipo. Las estructuras de any
tipo débil o dinámico son de tipo. [33]
Las anotaciones de tipo se pueden exportar a un archivo de declaraciones separado para que la información de tipo esté disponible para los scripts de TypeScript utilizando tipos ya compilados en JavaScript. Las anotaciones se pueden declarar para una biblioteca de JavaScript existente, como se ha hecho para Node.js y jQuery .
El compilador de TypeScript hace uso de la inferencia de tipos para inferir tipos cuando no se dan los tipos. Por ejemplo, add
se deduciría que el método en el código anterior devuelve un number
incluso si no se ha proporcionado una anotación de tipo de retorno. Esto se basa en los tipos estáticos de left
y right
being numbers
, y el conocimiento del compilador de que el resultado de sumar dos numbers
es siempre a number
. Sin embargo, declarar explícitamente el tipo de retorno permite al compilador verificar la corrección.
Si no se puede inferir ningún tipo debido a la falta de declaraciones, el any
tipo predeterminado es el dinámico . Un valor del any
tipo admite las mismas operaciones que un valor en JavaScript y se realiza una comprobación mínima de tipos estáticos para las operaciones sobre any
valores. [34]
Archivos de declaración
Cuando se compila un script de TypeScript, existe una opción para generar un archivo de declaración (con la extensión .d.ts
) que funciona como una interfaz para los componentes en el JavaScript compilado. En el proceso, el compilador elimina todos los cuerpos de funciones y métodos y conserva solo las firmas de los tipos que se exportan. El archivo de declaración resultante se puede usar para describir los tipos de TypeScript virtuales exportados de una biblioteca o módulo de JavaScript cuando un desarrollador externo lo consume desde TypeScript.
El concepto de archivos de declaración es análogo al concepto de archivo de encabezado que se encuentra en C / C ++ .
declarar aritmética del espacio de nombres { agregar ( izquierda : número , derecha : número ) : número ; restar ( izquierda : número , derecha : número ) : número ; multiplicar ( izquierda : número , derecha : número ) : número ; dividir ( izquierda : número , derecha : número ) : número ; }
Los archivos de declaración de tipos se pueden escribir a mano para las bibliotecas de JavaScript existentes, como se ha hecho para jQuery y Node.js.
Grandes colecciones de archivos de declaración para bibliotecas de JavaScript populares se alojan en GitHub en DefinitelyTyped .
Clases
TypeScript admite clases de ECMAScript 2015 que integran el soporte opcional de anotaciones de tipo.
clase Persona { nombre privado : cadena ; edad privada : número ; salario privado : número ; constructor ( nombre : cadena , edad : número , salario : número ) { esto . nombre = nombre ; esto . edad = edad ; esto . salario = salario ; } toString () : string { return ` $ { this . nombre } ( $ { esta . edad } ) ( $ { este . salario } ) ` ; // A partir de la versión 1.4 } }
Genéricos
TypeScript admite programación genérica . [35] El siguiente es un ejemplo de la función de identidad . [36]
función id < T > ( x : T ) : T { return x ; }
Módulos y espacios de nombres
TypeScript distingue entre módulos y espacios de nombres. Ambas características de TypeScript admiten la encapsulación de clases, interfaces, funciones y variables en contenedores. Los espacios de nombres (anteriormente módulos internos) utilizan la expresión de función de JavaScript invocada inmediatamente para encapsular el código, mientras que los módulos (anteriormente módulos externos) aprovechan los patrones de la biblioteca de JavaScript para hacerlo ( AMD o CommonJS ). [37]
Herramientas de desarrollo
Compilador
El compilador de TypeScript, denominado tsc
, está escrito en TypeScript . Como resultado, se puede compilar en JavaScript normal y luego se puede ejecutar en cualquier motor de JavaScript (por ejemplo, un navegador). El paquete del compilador viene incluido con un host de script que puede ejecutar el compilador. También está disponible como un paquete Node.js que usa Node.js como host.
La versión actual del compilador es compatible con ECMAScript 5 de forma predeterminada. Se permite una opción para apuntar a ECMAScript 2015 para hacer uso de características de lenguaje exclusivas de esa versión (por ejemplo, generadores). Las clases, a pesar de ser parte del estándar ECMAScript 2015, están disponibles en ambos modos.
Compatibilidad con IDE y editor
- Microsoft proporciona un complemento para Visual Studio 2012 y WebMatrix , soporte completo integrado en Visual Studio 2013 , Visual Studio 2015 y soporte de editor de texto básico para Emacs y Vim . [38]
- Visual Studio Code es un editor de código fuente multiplataforma de código abierto (en su mayoría) desarrollado por Microsoft basado en Electron . Admite TypeScript además de varios otros lenguajes y ofrece funciones como depuración y finalización inteligente de código .
- alm.tools es un IDE en la nube de código abierto para TypeScript creado con TypeScript, ReactJS y TypeStyle.
- JetBrains admite TypeScript con finalización de código, refactorización y depuración en sus IDE construidos en la plataforma IntelliJ, como PhpStorm 6, WebStorm 6 e IntelliJ IDEA , [39] así como su complemento y extensión de Visual Studio, ReSharper 8.1. [40] [41]
- Atom tiene un complemento TypeScript de Basarat con soporte para completar código, navegación, formateo y compilación rápida. [42]
- El IDE de Cloud9 en línea y Codenvy son compatibles con TypeScript.
- Hay un complemento disponible para NetBeans IDE .
- Hay un complemento disponible para Eclipse IDE (versión Kepler)
- TypEcs está disponible para Eclipse IDE .
- Cross Platform Cloud IDE Codeanywhere es compatible con TypeScript.
- Webclipse Un complemento de Eclipse diseñado para desarrollar TypeScript y Angular 2 .
- Angular IDE Un IDE independiente disponible a través de npm para desarrollar aplicaciones TypeScript y Angular 2, con soporte de terminal integrado.
- Tide - Entorno de desarrollo interactivo TypeScript para Emacs .
Integración con herramientas de automatización de compilación
Mediante el uso de complementos , TypeScript se puede integrar con herramientas de automatización de compilación , incluidos Grunt (grunt-ts [43] ), Apache Maven (TypeScript Maven Plugin [44] ), Gulp (gulp-typescript [45] ) y Gradle (TypeScript Gradle Complemento [46] ).
Herramientas de pelusa
TSLint [47] escanea el código TypeScript para comprobar su conformidad con un conjunto de normas y directrices. ESLint , un linter de JavaScript estándar, también proporcionó algo de soporte para TypeScript a través de complementos de la comunidad. Sin embargo, la incapacidad de ESLint para aprovechar los servicios de lenguaje de TypeScript impidió ciertas formas de análisis semántico y de todo el programa. [48] A principios de 2019, el equipo de TSLint anunció la desaprobación de linter a favor de typescript-eslint
un esfuerzo conjunto de los equipos de TSLint, ESLint y TypeScript para consolidar el linting bajo el paraguas de ESLint para mejorar el rendimiento, la unidad de la comunidad y la accesibilidad del desarrollador. [49] Para usar TypeScript con ESLint, debe agregar @typescript-eslint/eslint-plugin
y @typescript-eslint/parser
.
Historial de versiones
Número de versión | Fecha de lanzamiento | Cambios significativos |
---|---|---|
0,8 | 1 de octubre de 2012 | |
0,9 | 18 de junio de 2013 | |
1.0 | 12 de abril de 2014 | |
1.1 | 6 de octubre de 2014 | mejoras de rendimiento |
1.3 | 12 de noviembre de 2014 | protected modificador, tipos de tupla |
1.4 | 20 de enero de 2015 | tipos de unión , let y const declaraciones, cadenas de la plantilla, el tipo de guardias, de tipo alias |
1,5 | 20 de julio de 2015 | Módulos ES6, namespace palabra clave, for..of soporte, decoradores |
1,6 | 16 de septiembre de 2015 | Soporte JSX, tipos de intersección , declaraciones de tipo local, clases y métodos abstractos , funciones de protección de tipo definidas por el usuario |
1,7 | 30 de noviembre de 2015 | async y await apoyo, |
1.8 | 22 de febrero de 2016 | restricciones genéricas, errores de análisis de flujo de control, tipos de literal de cadena, allowJs |
2.0 | 22 de septiembre de 2016 | tipos de conocimiento nulo e indefinido, análisis de tipo basado en flujo de control, tipos de unión discriminada, never tipo, readonly palabra clave, tipo de this para funciones |
2.1 | 8 de noviembre de 2016 | keyof y tipos de búsqueda, tipos mapeados, dispersión y descanso de objetos, |
2.2 | 22 de febrero de 2017 | clases mixtas, object tipo, |
2.3 | 27 de abril de 2017 | async iteración, valores predeterminados de parámetros genéricos, opción estricta |
2.4 | 27 de junio de 2017 | expresiones de importación dinámicas, enumeraciones de cadenas, inferencia mejorada para genéricos, contravarianza estricta para parámetros de devolución de llamada |
2.5 | 31 de agosto de 2017 | variables de cláusula catch opcionales |
2.6 | 31 de octubre de 2017 | tipos de funciones estrictas |
2,7 | 31 de enero de 2018 | propiedades con nombre constante, tuplas de longitud fija |
2.8 | 27 de marzo de 2018 | tipos condicionales, mejorados keyof con tipos de intersección |
2.9 | 14 de mayo de 2018 | soporte para símbolos y literales numéricos en keyof y tipos de objetos mapeados |
3,0 | 30 de julio de 2018 | referencias de proyectos, extracción y difusión de listas de parámetros con tuplas |
3.1 | 27 de septiembre de 2018 | tipos de matriz y tupla asignables |
3.2 | 30 de noviembre de 2018 | comprobación más estricta para vincular, llamar y aplicar |
3.3 | 31 de enero de 2019 | reglas relajadas sobre métodos de tipos de unión, compilaciones incrementales para proyectos compuestos |
3.4 | 29 de marzo de 2019 | compilaciones incrementales más rápidas, inferencia de tipos a partir de funciones genéricas, modificador de solo lectura para matrices, aserciones constantes, verificación de tipos global this |
3,5 | 29 de mayo de 2019 | construcciones incrementales más rápidas, omisión del tipo de ayudante, comprobaciones de exceso de propiedad mejoradas en tipos de unión, verificación de tipo de unión más inteligente |
3.6 | 28 de agosto de 2019 | Generadores más estrictos, distribución de matrices más precisa, mejor compatibilidad con Unicode para identificadores |
3,7 | 5 de noviembre de 2019 | Encadenamiento opcional, fusión nula |
3.8 | 20 de febrero de 2020 | Importaciones y exportaciones de solo tipo, campos privados de ECMAScript, espera de nivel superior |
3.9 | 12 de mayo de 2020 | Mejoras en la inferencia, mejoras en la velocidad |
4.0 | 20 de agosto de 2020 | Tipos de tuplas variables, elementos de tuplas etiquetados |
4.1 | 19 de noviembre de 2020 | Tipos de letras de plantilla, reasignación de claves en tipos mapeados, tipos condicionales recursivos |
4.2 | 25 de febrero de 2021 | Preservación de alias de tipo más inteligente, elementos de descanso intermedios / iniciales en tipos de tupla, controles más estrictos para el in operador, abstract firmas de construcción |
Ver también
- Dardo
- Kotlin
- JS ++
Referencias
Citas
- ^ "TypeScript" . CodePlex . Consultado el 26 de abril de 2015 .
- ^ a b "Lanzamientos · microsoft / TypeScript · GitHub" . GitHub . 9 de abril de 2021.
- ^ "Compatibilidad de tipos" . TypeScript . Consultado el 21 de marzo de 2018 .
- ^ Bright, Peter (3 de octubre de 2012). "Microsoft TypeScript: ¿el JavaScript que necesitamos o una solución en busca de un problema?" . Ars Technica . Condé Nast . Consultado el 26 de abril de 2015 .
- ^ "Programación TypeScript con Visual Studio Code" . code.visualstudio.com . Consultado el 12 de febrero de 2019 .
- ^ "borisyankov / DefinitelyTyped" . GitHub . Consultado el 26 de abril de 2015 .
- ^ Página de inicio de TypeScript , "Visual Studio incluye TypeScript en el cuadro, comenzando con Visual Studio 2013 Update 2"
- ^ Herramientas de TypeScript 1.0 para Visual Studio 2012
- ^ Foley, Mary Jo (1 de octubre de 2012). "Microsoft elimina TypeScript, un superconjunto de JavaScript" . ZDNet . CBS Interactive . Consultado el 26 de abril de 2015 .
- ^ Somasegar, S. (1 de octubre de 2012). "Blog de Somasegar" . Microsoft . Consultado el 26 de abril de 2015 .
- ^ Baxter-Reynolds, Matt (1 de octubre de 2012). "Microsoft TypeScript: ¿Puede el padre de C # salvarnos de la tiranía de JavaScript?" . ZDNet . Consultado el 26 de abril de 2015 .
- ^ Jackson, Joab (1 de octubre de 2012). "Microsoft aumenta Javascript para el desarrollo a gran escala" . CIO . IDG Enterprise . Consultado el 26 de abril de 2015 .
- ^ "Microsoft aumenta JavaScript para el desarrollo a gran escala" . InfoWorld . IDG . 1 de octubre de 2012 . Consultado el 26 de abril de 2015 .
- ^ Turner, Jonathan (2 de abril de 2014). "Anuncio de TypeScript 1.0" . Blog del equipo de TypeScript Language . Microsoft . Consultado el 26 de abril de 2015 .
- ^ Miguel de Icaza (1 de octubre de 2012). "TypeScript: Primeras impresiones" . Consultado el 12 de octubre de 2012 .
Pero TypeScript solo ofrece la mitad del valor al usar un lenguaje fuertemente tipado a los desarrolladores de Unix: tipado fuerte. Intellisense, finalización de código y refactorización son herramientas que solo están disponibles para los usuarios de Visual Studio Professional en Windows. No hay soporte para Eclipse, MonoDevelop o Emacs para ninguna de las características del lenguaje
- ^ "Microsoft TypeScript: ¿Puede el padre de C # salvarnos de la tiranía de JavaScript?" . ZDNet . 1 de octubre de 2012 . Consultado el 12 de octubre de 2012 .
Y creo que este es un gran paso en falso. Si está creando aplicaciones web que se ejecutan en otra cosa que no sea Windows, es probable que esté usando una Mac y probablemente no use Visual Studio. Necesita el complemento de Visual Studio para obtener IntelliSense. Todo lo que obtiene sin Visual Studio es el tipo fuerte. No obtiene los beneficios de productividad que obtiene de IntelliSense. .
- ^ "TypeStrong: el único paquete de TypeScript que necesitará" . Consultado el 21 de julio de 2016 .
- ^ Hillar, Gastón (14 de mayo de 2013). "Trabajando con TypeScript en Visual Studio 2012" . Diario del Dr. Dobb . Consultado el 26 de abril de 2015 .
- ^ "TypeScript 0.9 llega con nuevo compilador, soporte para genéricos" . El registro . 18 de junio de 2013 . Consultado el 26 de abril de 2015 .
- ^ Hejlsberg, Anders (2 de abril de 2014). "TypeScript" . Canal 9 . Microsoft . Consultado el 26 de abril de 2015 .
- ^ Jackson, Joab (25 de febrero de 2014). "Microsoft TypeScript se gradúa en Visual Studio" . PC World . IDG . Consultado el 26 de abril de 2015 .
- ^ Turner, Jonathan (21 de julio de 2014). "Nuevo compilador y mudanza a GitHub" . Blog del equipo de TypeScript Language . Microsoft . Consultado el 26 de abril de 2015 .
- ^ Bright, Peter (22 de septiembre de 2016). "TypeScript, el JavaScript de Microsoft para grandes aplicaciones, llega a la versión 2.0" . Ars Technica . Condé Nast . Consultado el 22 de septiembre de 2016 .
- ^ "Anuncio de TypeScript 3.0" . 30 de julio de 2018 . Consultado el 16 de marzo de 2020 .
- ^ "TypeScript 3.0" . 30 de julio de 2018 . Consultado el 16 de marzo de 2020 .
- ^ a b "Anuncio de TypeScript 4.0" . TypeScript . 20 de agosto de 2020 . Consultado el 30 de octubre de 2020 .
- ^ Anders Hejlsberg (5 de octubre de 2012). "Qué es TypeScript y por qué con Anders Hejlsberg" . www.hanselminutes.com . Consultado el 15 de enero de 2014 .
- ^ S. Somasegar (1 de octubre de 2012). "TypeScript: desarrollo de JavaScript a escala de aplicación" . msdn.com . Consultado el 27 de noviembre de 2013 .
- ^ la escritura estática opcional se llama escritura gradual
- ^ Klint Finley (1 de octubre de 2012). "Microsoft presenta un nuevo lenguaje de programación tipo JavaScript similar a JavaScript" . TechCrunch . Consultado el 27 de noviembre de 2013 .
- ^ "Angular 2" . angular.io . Consultado el 4 de mayo de 2016 .
- ^ "Bienvenido a TypeScript" . typescriptlang.org . Microsoft . Consultado el 26 de abril de 2015 .
- ^ www.typescriptlang.org/ https://www.typescriptlang.org/docs/handbook/2/everyday-types.html . Consultado el 30 de marzo de 2021 . Falta o vacío
|title=
( ayuda ) - ^ Especificación del lenguaje TypeScript p.24 Archivado el 17 de noviembre de 2013 en Wayback Machine.
- ^ Turner, Jonathan (18 de junio de 2013). "Anuncio de TypeScript 0.9" . Blog del equipo de TypeScript Language . Microsoft .
- ^ "Genéricos en mecanografiado" . Microsoft .
- ^ Sönke Sothmann (31 de enero de 2014). "Una introducción al sistema de módulos de TypeScript" . blog.oio.de . Consultado el 21 de febrero de 2014 .
- ^ Olivier Bloch (1 de octubre de 2012). "Sublime Text, Vi, Emacs: ¡TypeScript habilitado!" . Microsoft . Consultado el 28 de octubre de 2012 .
- ^ "Compatibilidad con TypeScript en WebStorm 6" . JetBrains.
- ^ "Compatibilidad con TypeScript en ReSharper 8.1" . JetBrains. 28 de octubre de 2013.
- ^ ReSharper: la extensión de Visual Studio para desarrolladores de .NET de JetBrains
- ^ "átomo-mecanografiado" . Atom . Consultado el 9 de enero de 2020 .
- ^ "TypeStrong / grunt-ts" . GitHub . Consultado el 26 de abril de 2015 .
- ^ "ppedregal / mecanografiado-maven-plugin" . GitHub . Consultado el 26 de abril de 2015 .
- ^ "ivogabe / gulp-mecanografiado" . GitHub . Consultado el 14 de julio de 2017 .
- ^ "sothmann / mecanografiado-gradle-plugin" . GitHub . Consultado el 26 de abril de 2015 .
- ^ "TSLint" .
- ^ Palantir (19 de febrero de 2019). "TSLint en 2019" . Medio . Consultado el 24 de abril de 2019 .
- ^ "TSLint obsoleto para enfocar el soporte en mecanografiado-eslint" . InfoQ . Consultado el 24 de abril de 2019 .
Fuentes
- "Webclipse: Complemento Eclipse" Genuitec. Consultado el 9 de noviembre de 2016.
- "IDE angular de Webclipse: IDE independiente" Genuitec. Consultado el 9 de noviembre de 2016.
enlaces externos
- Proyecto TypeScript en GitHub
- Especificación del lenguaje TypeScript
- Editor de TypeScript multiplataforma CATS