Skip to content
KnowledgeCity

TypeScript Intermediate

Learn the more intermediate features of the TypeScript programming language
Preview the first lesson free — get full access to all 32 lessons.
Course: On-Demand
Intermediate Provider Mark Nair  7 chapters ·  32 Lessons ·  2h 31m  in English 

Course Description

In this TypeScript Intermediate course, you will learn the intermediate features and functionality of TypeScript, a programming language that is strongly typed and built upon JavaScript. Learning TypeScript will let you build large-scale and complex applications that need to rely on being strong-typed, object-oriented, and compiled.

‏TypeScript is a programming language that extends the functionality of JavaScript by introducing strong typing, object-oriented programming concepts, and compilation. TypeScript is designed to provide improved tooling at any scale, and developers consider it an upgraded version of JavaScript. One of TypeScript's primary advantages is its data type system, which enables early error detection and improves code reliability. By introducing static type checking during development, TypeScript helps identify potential runtime errors before they occur, making it easier to build robust and maintainable software. In this course we’ll cover some of the more intermediate typescript techniques and topics including classes and inheritance, generics, decorators, advanced types, and software design patterns.

What You'll Learn

  • Understand advanced types in TypeScript, including tuple types, intersection types, discriminated type unions, type guards, and typecasting
  • Work with classes and inheritance, using constructors and functions within a class
  • Identify and apply generics through generic functions, generic classes, generic arrays, and constraining a generic type
  • Understand TypeScript decorators, including decorator factories, property decorators, and class decorators
  • Apply software design patterns across creational (Singleton, Prototype, Factory, Builder), structural (Facade, Proxy), and behavioral (Iterator, Mediator, Observer, State) categories
  • Use the spread operator to work with TypeScript code

Key Takeaways

  • TypeScript is a strongly typed programming language built upon JavaScript that adds object-oriented programming concepts and compilation.
  • TypeScript's data type system enables early error detection and improves code reliability through static type checking during development.
  • Static type checking helps identify potential runtime errors before they occur, making it easier to build robust and maintainable software.
  • This intermediate course covers classes and inheritance, generics, decorators, advanced types, and software design patterns.
  • TypeScript enables developers to build large-scale and complex applications that need to be strongly typed, object-oriented, and compiled.

Frequently Asked Questions

What topics does this TypeScript Intermediate course cover?

The course covers intermediate TypeScript techniques and topics including classes and inheritance, generics, decorators, advanced types, and software design patterns.

What advanced types will I learn in this course?

You will learn advanced types including tuple types, intersection types, discriminated type unions, type guards, and typecasting, along with the spread operator.

What design patterns are taught in this course?

The course covers creational patterns (Singleton, Prototype, Factory, and Builder), structural patterns (Facade and Proxy), and behavioral patterns (Iterator, Mediator, Observer, and State).

What is TypeScript and why use it?

TypeScript is a strongly typed programming language that extends JavaScript by introducing strong typing, object-oriented programming concepts, and compilation. Its data type system enables early error detection and improves code reliability, letting you build large-scale, complex, and maintainable applications.

What skills will I gain from this course?

This course builds skills in Computational Thinking, Object-Oriented Design, and Software Design.