
Discover the prerequisites for learning this course, including basic JavaScript knowledge and familiarity with C-Sharp or Java, and awareness of CISSP concepts.
Trace the history of JavaScript from Netscape in the mid-1990s to the ECMAScript 6 standard published in 2015, with the seventh edition finalized in 2016.
Trace the history of TypeScript—from its 2012 public release to 2014 1.0—as an open source JavaScript compiler that extends JavaScript for Angular 2.0, and why it grew in popularity.
Discover how TypeScript extends JavaScript with static typing and object-oriented features. It compiles to JavaScript for any browser and helps prevent errors in large code bases with interfaces and namespaces.
Install NodeJS and TypeScript by downloading or using npm install, run commands in the command prompt, and then launch Microsoft Visual Studio Code to write TypeScript.
Install Visual Studio Code as the primary editor for TypeScript, compare editors like Sublime Text and Eclipse, and configure extensions for Windows or Mac.
Get hands-on with Visual Studio Code by exploring the first launch screen, installing extensions for languages like C# and Python, using source control and debugging, and customizing themes.
Learn to use the exercise files in the TypeScript course, exploring a TypeScript example and its JavaScript counterpart. See how to convert a TypeScript file into JavaScript for practice.
Learn the basics of datatypes in TypeScript, including strings and variables, and how compiler options affect JavaScript compatibility and type handling across browsers.
Explore how TypeScript defines data types such as number, string, boolean, the any type, and fixed-length groups of elements, enforces them in code, and compiles to JavaScript.
Explore strong typing versus type inference in TypeScript, highlighting errors from mismatched types. See how type inference automatically detects numbers, strings, and booleans, unlike JavaScript.
Explore duck typing in TypeScript, where the compiler checks objects by matching property names and types. Compare fresh objects, observe how extra properties affect compatibility and how updates prevent errors.
Explore how let and const define block and global scope in JavaScript within the School of TypeScript course, showing variable declarations, scope rules, and immutability concepts.
Explore const enums in TypeScript by declaring constant variables, accessing values, and observing how indexes and outputs appear in the console.
Learn how explicit casting works in TypeScript by explicitly specifying types with angle bracket syntax, casting from any to a concrete type, and reducing errors by avoiding any.
Explore named functions and anonymous functions in TypeScript, compare syntax and usage, declare functions via variables, and see how TypeScript converts them to JavaScript.
Explore optional parameters in TypeScript by building a function with a required first name and an optional last name, showing how undefined values are handled in JavaScript.
Explore function default parameters and optional parameters in JavaScript and TypeScript, and see how defaults apply when arguments are omitted.
Explore rest parameters in TypeScript functions using the three-dot syntax to handle varying numbers of arguments, with example demonstrations and code refactoring to simpler, reusable forms.
Examine the definitions of function lambda and core functions, showing concise ways to declare them in JavaScript and understand their usage.
Explore function overloading in TypeScript by implementing three functions with string, number, and boolean signatures, and observe how to call them with respective values.
Explore callbacks in TypeScript and see how a function accepts a callback and passes a string to it in a simple program.
Explore union types and type guards in TypeScript by building a function with string, number, and boolean values, and distinguishing between human and animal classes using guards.
Explore custom type guards in TypeScript by defining interfaces and a named guard function, extending interfaces, and using a record to validate complex shapes.
Type aliases in TypeScript provide alternative names for existing types, including primitives and unions, similar to interfaces. Define a type alias to name a type and reuse it in code.
Explore classes in TypeScript, including constructors, instances, and object creation, and compare their behavior to Java and C-Sharp with practical examples.
Explore duck typing in TypeScript classes, showing how objects and signatures must align, with examples using animal and human classes to illustrate parameter and property requirements.
Learn how inheritance in TypeScript uses classes and extends to share structure, with constructors and functions demonstrated through object creation.
Explain abstract classes in TypeScript by creating an abstract class, implementing its abstract function to return a name, and showing that you cannot instantiate an abstract class.
Explore TypeScript constructors by illustrating parent and child classes, using extends and super, passing name and number parameters, and creating objects to show when super must be called.
Examine the TypeScript class private modifier, declare a private name in the constructor, and see how private members are accessible only within their class, while members are public by default.
Explore the protected modifier in TypeScript by defining a class with private properties and a protected method, then extend it with a subclass using super to access the method.
Explore how getters and setters intercept access to object members in TypeScript. Build a class with a private fullname, validate identity, and demonstrate error handling and encapsulation.
Explore static properties in TypeScript by defining a class with public static members, accessing them through the class rather than an instance, and understanding the constructor.
Explore how interfaces define object shapes in object-oriented programming and how structural subtyping enforces correct property sets, such as name and age, when implementing interfaces.
Learn to define two optional properties in a TypeScript interface and implement it in a function, creating a human interface with optional name and data.
explains how to use interfaces to describe function types in TypeScript, showing a single-function interface, unnamed functions, and parameter-based type checking to ensure compatibility.
discover interface types and how to describe objects with interfaces in TypeScript. Create an object that implements the interface and observe how string values map to the interface's properties.
Learn how interfaces define the public contract of a class in TypeScript, using an hours and minutes example, to enforce structure via implements and shape.
Learn how to extend interfaces in TypeScript by combining multiple interfaces into a single interface, with examples like a people interface and a forest interface.
Explore how interfaces in TypeScript implement hybrid types by combining a function and an object with an additional property.
Learn how classes can act as interfaces in TypeScript, representing instances and constructor functions. Extend a class into an interface and use interfaces where you would use a class.
explains static side types and instance side of classes, using interfaces with constructor signatures to guide class implementation and handle errors when constructors don’t match, while leveraging the static side.
Learn how modules in TypeScript organize code into separate files with export and import. Create and export functions, classes, and interfaces, then import them into other modules.
This course is designed for anyone who wants to take their web development skills to the next level by mastering Object-Oriented Programming (OOP) concepts in TypeScript. If you already have experience with Java or C#, you will find the transition to TypeScript much smoother and easier, as many of the OOP principles will feel familiar.
Throughout this course, you’ll start with the fundamentals of TypeScript and gradually move toward advanced concepts, ensuring you build a solid foundation along the way. The course is packed with practical examples and clear explanations that will help you not just learn, but also apply TypeScript effectively in real-world projects.
One of the key benefits of TypeScript is its ability to enforce clean coding practices through OOP, saving you time and effort when working on larger applications. Whether you’re a beginner looking to get started, or an experienced developer seeking to refine your skills, this course provides valuable insights that will help you write better, more maintainable code.
We’ll also explore the strong relationship between TypeScript and Angular 2, since TypeScript is the preferred language for Angular applications. By the end of this course, you’ll feel confident in using TypeScript in any of your Angular projects, leveraging its full potential.
What you’ll learn in this course:
Introduction to TypeScript
Data Types and Duck Typing
Functions and Classes
Interfaces and Modules
Decorators and Generics
Key OOP principles and much more
So now it’s time to dive in and start your journey toward mastering TypeScript and building powerful, scalable applications.