\u003Cfigcaption>Most loved languages in 2020 in the \u003Ca href=\"https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-loved\">Developer Survey\u003C/a>\u003C/figcaption>\u003C/figure>\n\u003C!-- /wp:image -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-history-of-use\">\u003Cstrong>History of use\u003C/strong>\u003C/h3>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>TypeScript was initially developed in-house at Microsoft. The work was done by a small team led by programming legend \u003Ca href=\"https://github.com/ahejlsberg\">Anders Hejlsberg\u003C/a> (creator of Turbo Pascal, Delphi and C#).\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Since its debut in 2012, TypeScript’s use has been spreading slowly but surely – aided in no small part by its adoption by Google in 2016. GitHub’s \u003Ca href=\"https://octoverse.github.com/\">State of the Octoverse\u003C/a> report shows TypeScript’s popularity surging from 7th in 2018 to 3rd in 2020, behind only Python and JavaScript.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Right now, Typescript features in roughly 2% of Stack Overflow questions each month and \u003Ca href=\"https://insights.stackoverflow.com/survey/2020#technology\">25% of\u003C/a> developers around the world said they are using it in our most recent Dev survey. Considering how much its users love it, that may well increase further…\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:image -->\n\u003Cfigure class=\"wp-block-image\">\u003Cimg src=\"https://lh6.googleusercontent.com/o3qNFhT_q_VwrB3zUP4BYN4eTISDLEXmF7Dp77Am1XQT5cQBvGwvU-KcuT0nLIttZeg3YtYqGg1wU0wZEpqzg1wrQW2ZroqcjI7JHX34Z0q9lO1Tuotuhc6xW50UYJQNoScP30JB\" alt=\"\"/>\u003Cfigcaption>\u003Ca href=\"https://insights.stackoverflow.com/trends?tags=typescript\">Trending Tags on Stackoverflow.com\u003C/a>\u003C/figcaption>\u003C/figure>\n\u003C!-- /wp:image -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-who-is-using-it\">\u003Cstrong>Who is using it?\u003C/strong>\u003C/h3>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Microsoft. \u003Ca href=\"https://slack.engineering/typescript-at-slack/\">Slack\u003C/a>, \u003Ca href=\"https://thedeployguy.com/2019-07-21-typescript-generics/\">Walmart\u003C/a> \u003Ca href=\"https://github.com/trustpilot?language=typescript\">Trustpilot\u003C/a>, \u003Ca href=\"https://www.accenture.com/us-en/blogs/software-engineering-blog/hvidding-core-philosophies-front-end-frameworks\">Accenture\u003C/a>, \u003Ca href=\"https://stackoverflow.blog/2020/06/15/talking-typescript-with-ryan-cavanaugh/\">Google\u003C/a>, and the fine folks here at Stack Overflow.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-who-is-it-for\">\u003Cstrong>Who is it for?\u003C/strong>\u003C/h3>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>TypeScript’s strong typing can be a lifesaver: it can catch errors that would normally only show up during runtime as mysterious behavior (or worse, not show up). It also has an improved OOP functionality, with \u003Ca href=\"https://rachelappel.com/2015/01/02/write-object-oriented-javascript-with-typescript/\">cleaner syntax\u003C/a> for encapsulation, inheritance, abstraction, and polymorphism. This can make constructing large, complex programs much more efficient. Additionally, it can be \u003Ca href=\"http://hardcodeded.blogspot.com/2013/02/mostly-painlessly-migrating-3d-game.html\">surprisingly straightforward\u003C/a> to migrate your existing codebase from JavaScript to TypeScript—conversion can be done piecemeal and in parallel to other development, minimizing disruption.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cstrong>JavaScript developers\u003C/strong>\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Because of its overlap with JavaScript, TypeScript is likely to be popular amongst the enormous userbase of vanilla JavaScript developers. Nowadays, JavaScript runs in everything from browsers to \u003Ca href=\"https://www.wired.com/story/wired-guide-internet-of-things/\">toasters\u003C/a>, but it wasn’t originally designed to handle large, complex projects. Many developers could benefit from the improved reliability and efficiency TypeScript offers “for free.” \u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-why-you-shouldn-t-learn-it\">\u003Cstrong>Why you shouldn't learn it\u003C/strong>\u003C/h3>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>While TypeScript is powerful and widely compatible, it probably shouldn’t be the first language you learn. If you haven’t got any previous experience, even the \u003Ca href=\"https://www.typescriptlang.org/docs/handbook/intro.html\">official handbook\u003C/a> recommends learning at least JavaScript first.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Even seasoned developers that have not previously worked with Object Oriented Programming may find some of the concepts challenging. By contrast, if you’re already familiar with concepts like types, classes and inheritance (for example from C++ or Java) then it should be fairly straightforward to get up and running.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>It’s also worth noting that, at least for the moment, the amount of code written in TypeScript is relatively small especially when compared to the colossal JavaScript userbase. As our survey shows, however, that may well be changing.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:image {\"width\":790,\"height\":543} -->\n\u003Cfigure class=\"wp-block-image is-resized\">\u003Cimg src=\"https://lh3.googleusercontent.com/59cGz0ZdFTbhCEA9UB7Dketiik6m8sk8MYVVjX4ZyaWvZ-HokYgxU9mXPobk16a-m4Qec3ZyrD84cp_1OpubNcxRpwwLF0ca1QZxVbUQZbxwoB3guMXVoz9IHzvHk5kM7Lgd8lTu\" alt=\"\" width=\"790\" height=\"543\"/>\u003Cfigcaption>\u003Ca href=\"https://insights.stackoverflow.com/trends?tags=typescript%2Cjavascript\">Comparison JavaScript and TypeScript\u003C/a>\u003C/figcaption>\u003C/figure>\n\u003C!-- /wp:image -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-key-concepts\">\u003Cstrong>Key concepts\u003C/strong>\u003C/h3>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>TypeScript is a \u003Cem>strict superset\u003C/em> of JavaScript. That means any and all valid Javascript code can run perfectly well as TypeScript. Indeed, “compiling” TypeScript actually \u003Ca href=\"https://stackoverflow.com/questions/44931479/compiling-vs-transpiling\">transpiles\u003C/a> your code back into \u003Ca href=\"https://stackoverflow.com/questions/20435653/what-is-vanillajs\">vanilla\u003C/a> JavaScript. Because of this, it’s compatible with any modern browser and any platform—JavaScript runs almost everywhere—but it offers additional checks during the compilation stage to increase reliability compared to JavaScript.\u003C/li>\u003Cli>In contrast to the \u003Cem>loosely typed\u003C/em> JavaScript, TypeScript is \u003Ca href=\"https://www.infoworld.com/article/3538428/what-is-typescript-strongly-typed-javascript.html#:~:text=TypeScript%20defined&text=In%20particular%2C%20TypeScript%20is%20strongly,JavaScript%2C%20which%20is%20loosely%20typed.\">\u003Cem>strongly\u003C/em>\u003C/a>\u003Cem> typed\u003C/em>: one must declare what kind of data each variable will contain. While this may slightly increase development time for very small, simple programs, lots of modern software contains many thousands of lines of code, across multiple files, often by different authors. In cases like this, clearly defining what sorts of variables are acceptable can prevent hard-to-locate bugs from making it into the wild.\u003C/li>\u003Cli>Other than that, TypeScript really is just JavaScript, with all the advantages (and some of the disadvantages) of its immensely popular progenitor.\u003C/li>\u003C/ul>\n\u003C!-- /wp:list -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-resources\">\u003Cstrong>Resources\u003C/strong>\u003C/h3>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cstrong>Official\u003C/strong>\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>The \u003Ca href=\"https://www.typescriptlang.org/\">TypeScriptLang.org\u003C/a> site offers quickstart guides for \u003Ca href=\"https://www.typescriptlang.org/docs/handbook/typescript-from-scratch.html\">novices\u003C/a> and for users of other languages, including \u003Ca href=\"https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html\">JavaScript\u003C/a> and \u003Ca href=\"https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-oop.html\">Java/C#\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"https://www.typescriptlang.org/docs/handbook/intro.html\">The TypeScript Handbook\u003C/a> provides a more in-depth explanation, and a series of \u003Ca href=\"https://www.typescriptlang.org/docs/\">deep dives\u003C/a> explaining some of the peculiarities of the language.\u003C/li>\u003Cli>There’s also a \u003Ca href=\"https://www.typescriptlang.org/play\">Playground\u003C/a> where you can try out TypeScript in the browser, and see the transpiled JavaScript for comparison.\u003C/li>\u003C/ul>\n\u003C!-- /wp:list -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cstrong>Entry-level\u003C/strong>\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>\u003Ca href=\"https://www.youtube.com/watch?v=ahCwqrYpIuM\">TypeScript: The Basics\u003C/a> video gives a good, quick rundown of some of the features and advantages the language offers.\u003C/li>\u003Cli>Academind’s \u003Ca href=\"https://www.youtube.com/watch?v=BwuLxPH8IDs\">TypeScript Course for Beginners 2021\u003C/a> offers a more comprehensive crash-course in a single epic three-hour video.\u003C/li>\u003C/ul>\n\u003C!-- /wp:list -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cstrong>Advanced\u003C/strong>\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>Scotch’s \u003Ca href=\"https://scotch.io/tutorials/from-javascript-to-typescript-pt-i-types-variables\">From JavaScript to TypeScript\u003C/a> series is a good primer for programmers who are already comfortable with JavaScript.\u003C/li>\u003Cli>Dev.to’s \u003Ca href=\"https://dev.to/techelevator/migrating-to-typescript-3bai\">Migrating to TypeScript\u003C/a> provides a walkthrough of the migration process for a small sample application, providing a hands-on demonstration of TypeScript’s bug-hunting powers.\u003C/li>\u003C/ul>\n\u003C!-- /wp:list -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cstrong>Other resources\u003C/strong>\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>Check out one of the videos that \u003Ca href=\"https://channel9.msdn.com/posts/Anders-Hejlsberg-Introducing-TypeScript\">introduced TypeScript\u003C/a> to the world: lead developer Anders Hejlsberg delivering this hour-long talk about TypeScript’s features and aims way back in 2012. Of course, with the benefit of hindsight, it’s also interesting to read the comments from developers, frequently along the lines of “This will never catch on!”. Sorry folks – it looks like Anders may have been right on this one.\u003C/li>\u003C/ul>\n\u003C!-- /wp:list -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-communities\">\u003Cstrong>Communities\u003C/strong>\u003C/h3>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>TypeScript has an active Discord Channel at \u003Ca href=\"https://discord.com/invite/typescript\">TypeScript Community\u003C/a>\u003C/li>\u003C/ul>\n\u003C!-- /wp:list -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-top-conferences\">\u003Cstrong>Top conferences\u003C/strong>\u003C/h3>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>\u003Ca href=\"https://tsconf.io/\">https://tsconf.io/\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"https://tsconf.eu/\">https://tsconf.eu/\u003C/a>\u003C/li>\u003C/ul>\n\u003C!-- /wp:list -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-stack-overflow-stat-sheet\">\u003Cstrong>Stack Overflow stat sheet\u003C/strong>\u003C/h3>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:image {\"id\":18005,\"sizeSlug\":\"full\",\"linkDestination\":\"none\"} -->\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg src=\"https://stackoverflow.blog/wp-content/uploads/2021/05/language-stats-typescript-may-2021-2.png\" alt=\"\" class=\"wp-image-18005\"/>\u003C/figure>\n\u003C!-- /wp:image -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>More about Typescript, or in fact any other technology tag, can be find on the Stack Overflow Tag \u003Ca href=\"https://stackoverflow.com/tags/typescript/info\">info page. \u003C/a>\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Interested in job opportunities with TypeScript? Check out those on our \u003Ca href=\"https://stackoverflow.com/jobs?tl=typescript\">job board\u003C/a>? \u003Cem>Learning or teaching \u003C/em>TypeScript\u003Cem> and got a recommendation for our list? Add yours in the comments section! \u003C/em>\u003C/p>\n\u003C!-- /wp:paragraph -->","html","2021-05-05T13:39:00.000Z",{"current":792},"getting-started-with-typescript",[794,802,807],{"_createdAt":795,"_id":796,"_rev":797,"_type":798,"_updatedAt":795,"slug":799,"title":801},"2023-05-23T16:43:21Z","wp-tagcat-code-for-a-living","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":800},"code-for-a-living","Code for a Living",{"_createdAt":795,"_id":803,"_rev":797,"_type":798,"_updatedAt":795,"slug":804,"title":806},"wp-tagcat-getting-started",{"current":805},"getting-started","getting started",{"_createdAt":795,"_id":808,"_rev":797,"_type":798,"_updatedAt":795,"slug":809,"title":810},"wp-tagcat-typescript",{"current":810},"typescript","Getting started with... TypeScript",[813,819,824,829],{"_id":814,"publishedAt":815,"slug":816,"sponsored":12,"title":818},"1d082483-6dc6-424b-8b09-9c84b54779da","2025-09-02T17:00:00.000Z",{"_type":10,"current":817},"back-to-school-developers-at-stack-overflow-have-some-advice-for-you","Back to school? Developers at Stack Overflow have some advice for you",{"_id":820,"publishedAt":815,"slug":821,"sponsored":12,"title":823},"5cd91820-9515-4be5-87ae-e919fd443c18",{"_type":10,"current":822},"getting-started-on-stack-overflow-a-step-by-step-guide-for-students","Getting started on Stack Overflow: a step-by-step guide for students",{"_id":825,"publishedAt":815,"slug":826,"sponsored":12,"title":828},"614538a9-c352-4024-adf1-fa44a9f911b6",{"_type":10,"current":827},"stack-overflow-is-helping-you-learn-to-code-with-new-resources","Stack Overflow is helping you learn to code with new resources",{"_id":830,"publishedAt":815,"slug":831,"sponsored":12,"title":833},"763b1d36-83d8-4178-9c2d-32d705ea1d7b",{"_type":10,"current":832},"introducing-your-newest-study-buddy-stackoverflow-ai","Introducing your newest study buddy: stackoverflow.ai",{"count":835,"lastTimestamp":12},0,["Reactive",837],{"$sarticleModal":838},false,["Set"],["ShallowReactive",841],{"sanity-UT1_kSIeGgbQH6Hq2GLlK_m02WLXPp7Hf7D1Lua_zIg":-1,"sanity-comment-wp-post-17994-1756925375770":-1},"/2021/05/05/getting-started-with-typescript"]