TypeScript
 TypeScript is about addressing this problem
 A problem that we hear increasingly more and more from
customers and internal users that writing really large apps in
JavaScript is hard.
 And JavaScript was really never intended for writing large apps
 JavaScript has no concept for structuring large code bases. No
classes, not yet at least, no modules, no interfaces, and there's no
static typing at all.
 It's a purely dynamically typed language.
 The intelligent IDEs that we as programmers rely on every day , at
the core of most of it is static typing, or the ability to reason about
the code in intelligent ways
 so the IDE can deliver invaluable things like statement completion,
go to definition, find all references, refactorings that are known to
be safe.
 That just gets a super, super hard in big dynamic code bases.
 And that really, in a nutshell, is whatTypeScript is.
 It's a language for large scale JavaScript app development.
 In a more technical sense, it is a statically typed super set of
JavaScript that compiles to plain JavaScript.
 SoTypeScript itself is written inTypeScript and therefore compiles
to plain JavaScript.
 Basically, it starts with JavaScript.
 So it's important to understand thatTypeScript is not a new
language or different language.
 It is at the core of it JavaScript.
 But it's JavaScript with type annotations and the ability to declare
types.
 So what it adds is types, including generics and all sorts of other
fun stuff.
 And then, powered by that is excellent tooling, tooling that does
things that you just couldn't do with purely a dynamic
programming language.
 But when you compile, it all goes away, and you're just left with
JavaScript.
 In fact, you're left with what I would argue is idiomatic JavaScript
that looks like a human wrote it.
 The code that you get is the code that you wrote, minus the types.
reference
 https://www.youtube.com/watch?v=Ut694dsIa8w
 https://www.youtube.com/watch?v=K68NVae-PBs

Type script

  • 1.
  • 3.
     TypeScript isabout addressing this problem  A problem that we hear increasingly more and more from customers and internal users that writing really large apps in JavaScript is hard.  And JavaScript was really never intended for writing large apps  JavaScript has no concept for structuring large code bases. No classes, not yet at least, no modules, no interfaces, and there's no static typing at all.  It's a purely dynamically typed language.
  • 4.
     The intelligentIDEs that we as programmers rely on every day , at the core of most of it is static typing, or the ability to reason about the code in intelligent ways  so the IDE can deliver invaluable things like statement completion, go to definition, find all references, refactorings that are known to be safe.  That just gets a super, super hard in big dynamic code bases.
  • 6.
     And thatreally, in a nutshell, is whatTypeScript is.  It's a language for large scale JavaScript app development.
  • 8.
     In amore technical sense, it is a statically typed super set of JavaScript that compiles to plain JavaScript.  SoTypeScript itself is written inTypeScript and therefore compiles to plain JavaScript.
  • 12.
     Basically, itstarts with JavaScript.  So it's important to understand thatTypeScript is not a new language or different language.  It is at the core of it JavaScript.  But it's JavaScript with type annotations and the ability to declare types.
  • 14.
     So whatit adds is types, including generics and all sorts of other fun stuff.
  • 16.
     And then,powered by that is excellent tooling, tooling that does things that you just couldn't do with purely a dynamic programming language.
  • 18.
     But whenyou compile, it all goes away, and you're just left with JavaScript.  In fact, you're left with what I would argue is idiomatic JavaScript that looks like a human wrote it.  The code that you get is the code that you wrote, minus the types.
  • 19.