What is TypeScript ?
TypeScript is a superset of JavaScript which primarily provides optional static typing, classes and interfaces.
Benefits of Typescript -
Enable IDEs to provide a richer environment for spotting common errors
It is open source. Many great projects are coded nowadays
Optionally static typing and type inference.
wide range of IDEs that have excellent support for TypeScript, like Visual Studio & VS code, Atom, Sublime, and IntelliJ/WebStorm.
Strict null checks.
To use TypeScript you need a build process to compile to JavaScript code. The build process generally takes only a couple of seconds depending of course on the size of your project. The TypeScript compiler supports incremental compilation (--watch compiler flag), so that all subsequent changes can be compiled at greater speed.
TypeScript Compiles to Plain JavaScript
There are TypeScript compilation plugins available for Webpack, Gulp, Grunt and pretty much any other JavaScript build tool
Npm modules that come pre-packaged with their own type definitions are automatically understood by the TypeScript compiler
Can Convert from JavaScript to TypeScript
The biggest hurdle is the learning curve.
TypeScript includes support for modern features such as modules, classes, constants, interfaces, and arrow functions that are part of ECMAScript 6
TypeScript is Typed.
TypeScript support auto completion and type checking
Due to the static typing, code written in TypeScript is more predictable, and is generally easier to debug.
Makes it easier to organize the code base for very large and complicated apps thanks to modules, namespaces and strong OOP support.
TypeScript has a compilation step to JavaScript that catches all kinds of errors before they reach runtime and break something.
Course content
What is TypeScript ?,
Benefits of Using TypeScript,
Getting Started with TypeScript,
Hello World in TypeScript
Installing Tools for TypeScript Programming,
compiling :compiling TypeScript Program
Compiler Options for Added Support
tsconfig.json,Integrating with Build Tools
Variables,Types,Type Inference
type annotations,Optional Types
Reusable Types (Interfaces),Reusable Types (Type Aliases),
Organizing Types,Type Inference,Type Compatibility
Static Typing,Global Variables,Advanced Types
Writing Functions
Default and Optional Parameter
Arrow Function Expressions
Global Functions,Generics,Overloaded Function
Multiple Function Signatures
Namespaces and Modules ( Exporter and Importer )
Referencing Internal Modules
Asynchronous Module Definition (AMD)
Static Class-like Patterns in TypeScript
Shortening a Class with Parameter Properties
Classes with Public and Private Accessibility Modifiers
Objects with Properties, inheritance
Definition Files, Strong Typing JavaScript Libraries ,
TypeScript with External Libraries
Ambient Declarations,
Moving to ES6 Modules
Destructuring , Introduction to Generators
Asynchronous Coding using async/await , Decorators
Code Sharing Across Applications
Bridging with Interfaces and Code Generation
Using TSX Files, Mixins, Declaration Merging
JSX, Writing Declaration Files
Typings for NPM packages, Code Refactoring