# TypeScript

> programming language, superset of JavaScript that compiles to JavaScript

**Wikidata**: [Q978185](https://www.wikidata.org/wiki/Q978185)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/TypeScript)  
**Source**: https://4ort.xyz/entity/typescript

## Summary  
TypeScript is a free, open‑source programming language created by Microsoft in 2012. It is a strict superset of JavaScript that adds optional static typing and compiles back to plain JavaScript, enabling developers to write safer, more maintainable code while targeting any JavaScript runtime.

## Key Facts  
- **Inception:** 1 October 2012, released by Microsoft.  
- **Creator & Lead Designer:** Anders Hejlsberg, Danish software engineer.  
- **License:** Apache Software License 2.0 (open‑source).  
- **Current Stable Release (as of source):** 1.7.3, released 30 November 2015 (stable version). Earlier notable releases include 1.1.0.1 (7 Oct 2014) and 1.5.4 (10 Aug 2015).  
- **File Extensions:** `.ts` for standard files, `.tsx` for files containing JSX.  
- **Official Website & Repository:** https://www.typescriptlang.org/ | https://github.com/Microsoft/TypeScript.  
- **Programming Paradigms:** functional, generic, imperative, object‑oriented, event‑driven, structural typing, duck typing, gradual typing.  
- **Classifications:** programming language, scripting language, high‑level language, strict language, free and open‑source software.  
- **Community Presence:** Subreddit **r/typescript** launched on the same day as the language (2012‑10‑01); 105 432 followers on Mastodon (as of 2023‑05‑24).  

## FAQs  
### Q: What is TypeScript?  
A: TypeScript is a superset of JavaScript that adds optional static types and other language features, then compiles to plain JavaScript that runs anywhere JavaScript does.  

### Q: How does TypeScript differ from JavaScript?  
A: Unlike JavaScript, TypeScript lets developers declare types, catch errors at compile time, and use advanced features such as interfaces and generics, while still producing standard JavaScript code for execution.  

### Q: Who created TypeScript and why?  
A: Anders Hejlsberg designed TypeScript at Microsoft to provide a typed layer on top of JavaScript, improving developer productivity and code reliability for large‑scale web applications.  

### Q: Is TypeScript open source?  
A: Yes, it is released under the Apache Software License 2.0 and its source code is hosted publicly on GitHub.  

### Q: What are the main use cases for TypeScript?  
A: It is used for front‑end web development, Node.js back‑ends, and any project where JavaScript is required but developers want stronger type safety and tooling support.  

## Why It Matters  
TypeScript addresses a core limitation of JavaScript: the lack of static type checking. By allowing developers to annotate variables, functions, and objects with types, it catches many bugs during compilation rather than at runtime, leading to more robust applications. Its gradual typing model lets teams adopt it incrementally, adding types only where they add the most value. Because TypeScript compiles to standard JavaScript, it works with any existing JavaScript library, framework, or runtime, making migration seamless. Since its 2012 launch, it has become the de‑facto standard for large‑scale front‑end projects (e.g., Angular, React, Vue) and is widely supported by IDEs, build tools, and CI pipelines. The language’s open‑source nature, backed by Microsoft’s resources and a vibrant community, ensures continuous evolution, extensive documentation, and rapid adoption across the web development ecosystem.  

## Notable For  
- **First widely‑adopted typed superset of JavaScript**, enabling static analysis without breaking existing JavaScript code.  
- **Designed by Anders Hejlsberg**, the architect behind C# and Turbo Pascal, lending it strong language design pedigree.  
- **Open‑source under Apache 2.0**, with a public GitHub repository that encourages community contributions.  
- **Gradual typing system** that lets developers opt‑in to type safety on a per‑file or per‑project basis.  
- **Broad ecosystem integration**, including official support in major IDEs, build tools, and frameworks, and a dedicated subreddit and Mastodon presence.  

## Body  

### History and Development  
- **2012‑10‑01:** Microsoft announces TypeScript, aiming to improve JavaScript scalability.  
- **Lead Designer:** Anders Hejlsberg, noted for creating C# and Turbo Pascal.  
- **Early Releases:**  
  - **1.1.0.1** (7 Oct 2014) – first stable minor version.  
  - **1.3** (12 Nov 2014) – added generics and improved tooling.  
  - **1.5 series** (July‑August 2015) – introduced async/await syntax.  
  - **1.7.3** (30 Nov 2015) – final stable release in the 1.x line.  

### Language Design and Features  
- **Static Typing:** Optional type annotations (`number`, `string`, custom interfaces).  
- **Typing Disciplines:** Duck typing, structural typing, gradual typing.  
- **Paradigms Supported:** Functional, generic, imperative, object‑oriented, event‑driven.  
- **File Extensions:** `.ts` for standard code, `.tsx` for JSX/TSX integration.  
- **Compilation:** Transpiles to plain JavaScript, preserving compatibility with any JS engine.  

### Tooling and Ecosystem  
- **Official Site & Playground:** https://www.typescriptlang.org/ and https://www.typescriptlang.org/play for instant code testing.  
- **Repository:** https://github.com/Microsoft/TypeScript, includes CI via Travis CI (continuous integration).  
- **Package Manager:** Published to npm under the scope `typescript`.  
- **Community Channels:** Subreddit **r/typescript** (since 2012‑10‑01), Mastodon account `TypeScript@fosstodon.org` (started 2023‑06‑01).  

### Licensing and Open Source  
- **License:** Apache Software License 2.0, permitting free use, modification, and distribution.  
- **Free and Open‑Source Software:** Classified as such in Wikidata, with source code publicly available.  

### Adoption and Impact  
- **Competes/Alternatives:** Directly interoperable with JavaScript; positioned as an alternative to Python for scripting and web development.  
- **Influences:** Built on concepts from JavaScript, Java, and CoffeeScript.  
- **Industry Use:** Adopted by major frameworks (Angular, React, Vue) and large enterprises for front‑end and Node.js back‑ends.  

## Schema Markup  
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "TypeScript",
  "description": "A free, open‑source superset of JavaScript that adds optional static typing and compiles to plain JavaScript.",
  "url": "https://www.typescriptlang.org/",
  "sameAs": [
    "https://en.wikipedia.org/wiki/TypeScript"
  ],
  "additionalType": "ProgrammingLanguage"
}

## References

1. [Source](https://github.com/JohnMarkOckerbloom/ftl/blob/master/data/wikimap)
2. [The typescript Open Source Project on Open Hub: Licenses Page. Open Hub](https://www.openhub.net/p/typescript/licenses)
3. [The typescript Open Source Project on Open Hub: Languages Page. Open Hub](https://www.openhub.net/p/typescript/analyses/latest/languages_summary)
4. [Release 1.1.0.1. 2014](https://github.com/Microsoft/TypeScript/releases/tag/v1.1.0.1)
5. [Release 1.1.0.1. 2014](https://github.com/microsoft/TypeScript/releases/tag/v1.1.0.1)
6. [Release 1.3. 2014](https://github.com/Microsoft/TypeScript/releases/tag/v1.3)
7. [Release 1.3. 2014](https://github.com/microsoft/TypeScript/releases/tag/v1.3)
8. [Release 1.4. 2015](https://github.com/Microsoft/TypeScript/releases/tag/v1.4)
9. [Release 1.4. 2015](https://github.com/microsoft/TypeScript/releases/tag/v1.4)
10. [Source](https://api.github.com/repos/Microsoft/TypeScript/releases)
11. [Release 1.5.3. 2015](https://github.com/Microsoft/TypeScript/releases/tag/v1.5.3)
12. [Release 1.5.4. 2015](https://github.com/Microsoft/TypeScript/releases/tag/v1.5.4)
13. [Release 1.5.4. 2015](https://github.com/microsoft/TypeScript/releases/tag/v1.5.4)
14. [Release 1.6.2. 2015](https://github.com/Microsoft/TypeScript/releases/tag/v1.6.2)
15. [Release 1.7.3. 2015](https://github.com/Microsoft/TypeScript/releases/tag/v1.7.3)
16. [Release 1.7.5. 2015](https://github.com/Microsoft/TypeScript/releases/tag/v1.7.5)
17. [Release 1.7.5. 2015](https://github.com/microsoft/TypeScript/releases/tag/v1.7.5)
18. [Source](https://github.com/Microsoft/TypeScript/releases/tag/v1.8.2)
19. [Release 1.8.2. 2016](https://github.com/microsoft/TypeScript/releases/tag/v1.8.2)
20. [Release 1.8.7. 2016](https://github.com/Microsoft/TypeScript/releases/tag/v1.8.7)
21. [Release 1.8.10. 2016](https://github.com/Microsoft/TypeScript/releases/tag/v1.8.10)
22. [Release 1.8.10. 2016](https://github.com/microsoft/TypeScript/releases/tag/v1.8.10)
23. [Release 1.8.9. 2016](https://github.com/Microsoft/TypeScript/releases/tag/v1.8.9)
24. [Release 1.8.9. 2016](https://github.com/microsoft/TypeScript/releases/tag/v1.8.9)
25. [Source](https://github.com/Microsoft/TypeScript/releases/tag/v2.0.3)
26. [Release 2.0.3. 2016](https://github.com/microsoft/TypeScript/releases/tag/v2.0.3)
27. [Release 2.0.5. 2016](https://github.com/Microsoft/TypeScript/releases/tag/v2.0.5)
28. [Release 2.0.5. 2016](https://github.com/microsoft/TypeScript/releases/tag/v2.0.5)
29. [Release 2.0.6. 2016](https://github.com/Microsoft/TypeScript/releases/tag/v2.0.6)
30. [Release 2.0.6. 2016](https://github.com/microsoft/TypeScript/releases/tag/v2.0.6)
31. [Release 2.0.7. 2016](https://github.com/Microsoft/TypeScript/releases/tag/v2.0.7)
32. [Release 2.0.7. 2016](https://github.com/microsoft/TypeScript/releases/tag/v2.0.7)
33. [Release 2.0.8. 2016](https://github.com/Microsoft/TypeScript/releases/tag/v2.0.8)
34. [Release 2.0.8. 2016](https://github.com/microsoft/TypeScript/releases/tag/v2.0.8)
35. [Source](https://github.com/Microsoft/TypeScript/releases/tag/v2.1.4)
36. [Release 2.1.4. 2016](https://github.com/microsoft/TypeScript/releases/tag/v2.1.4)
37. [Release 2.1.5. 2017](https://github.com/Microsoft/TypeScript/releases/tag/v2.1.5)
38. [Release 2.1.5. 2017](https://github.com/microsoft/TypeScript/releases/tag/v2.1.5)
39. [Release 2.1.6. 2017](https://github.com/Microsoft/TypeScript/releases/tag/v2.1.6)
40. [Release 2.1.6. 2017](https://github.com/microsoft/TypeScript/releases/tag/v2.1.6)
41. [Release 2.2.1. 2017](https://github.com/Microsoft/TypeScript/releases/tag/v2.2.1)
42. [Release 2.2.2. 2017](https://github.com/Microsoft/TypeScript/releases/tag/v2.2.2)
43. [Release 2.2.2. 2017](https://github.com/microsoft/TypeScript/releases/tag/v2.2.2)
44. [Release 2.3.1. 2017](https://github.com/Microsoft/TypeScript/releases/tag/v2.3.1)
45. [Release 2.3.2. 2017](https://github.com/Microsoft/TypeScript/releases/tag/v2.3.2)
46. [Release 2.3.2. 2017](https://github.com/microsoft/TypeScript/releases/tag/v2.3.2)
47. [Release 2.3.3. 2017](https://github.com/Microsoft/TypeScript/releases/tag/v2.3.3)
48. [Release 2.3.3. 2017](https://github.com/microsoft/TypeScript/releases/tag/v2.3.3)
49. [Release 2.3.4. 2017](https://github.com/Microsoft/TypeScript/releases/tag/v2.3.4)
50. [Release 2.3.4. 2017](https://github.com/microsoft/TypeScript/releases/tag/v2.3.4)