We may earn an affiliate commission when you visit our partners.
Jan Schaffranek

Course description:

The course will show you the most important features of TypeScript. In the beginning, we will install and set up the required software together. After that, we will start with the basics and work our way up to classes and inheritance. You are also welcome to watch the public videos of the course to get a taste of it.

What is TypeScript?

Read more

Course description:

The course will show you the most important features of TypeScript. In the beginning, we will install and set up the required software together. After that, we will start with the basics and work our way up to classes and inheritance. You are also welcome to watch the public videos of the course to get a taste of it.

What is TypeScript?

If you haven’t heard of TypeScript yet, it’s a language that builds on JavaScript by adding syntax for static types. Tools like the TypeScript compiler just erase those types, leaving you with clean readable JavaScript that you can run anywhere; but those types are there to be type-checked. Types make your intentions explicit, and tools can read and understand them to catch errors before you even run your code. By checking your types, TypeScript can catch errors like typos, logic errors, and more. Beyond catching errors, TypeScript also uses types to power editor toolings like accurate code completion, go-to-definition, and renaming.

The course has the following topics

  • Installation of TypeScript, NodeJS, and VSCode

  • Type Annotations for Number, String, Boolean, Arrays, Tuples, etc.

  • Functions, Interfaces, and Classes

  • Inheritance and Abstract Classes

  • Importing/exporting from Modules

  • Utility types, keyof, instanceof, and type guards

Become a professional today, in the technology of tomorrow.

See you in class.

Enroll now

What's inside

Learning objectives

  • Typescript basics
  • Using datatypes annotaions
  • Type narrowing and type guards
  • Interfaces and types
  • Union and intersection types
  • Obejcts and inheritance

Syllabus

Chapter 1 - Introduction
Introduction
Software Information
Installation of Npm and Typescript
Read more
Course manual
Course materials
Visual Studio Code - Part 1
Visual Studio Code - Part 2
TSC Compiler and Linter
Chapter 2: TypeScript Basics
String, Number and Boolean
Array and Tuple
Object
Any, Void, Null and Undefined
Union Type
Type Alias
Interfaces
Extending Types
Intersection Types
Type Guards
Enum
Generic Functions
Generic Constraints
Chapter 3: Classes and Modules
Property Modifiers
Constructors
Public, Protected and Private
Getter and Setter
Static Variables
Generic Class
Implements
Abstract
Module Import/Export
Chapter 4: Advanced Techniques
Function Overload
More to Narrowing
KeyOf
KeyOf Generics
Rest Parameters
Utility Types
Chapter 5: Course conclusion
Course conclusion
Bonus Lecture

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers type annotations for various data types, which is essential for writing robust and maintainable code in TypeScript projects
Explores utility types and generics, which allows developers to write more flexible and reusable code, reducing redundancy and improving type safety
Teaches how to use classes, inheritance, and modules, which are fundamental concepts for building scalable and organized applications
Requires installing NodeJS and VSCode, which may require learners to ensure their machines meet the minimum specifications for these tools
Uses TypeScript, which compiles to JavaScript, meaning that learners will need to be familiar with JavaScript to understand the output

Save this course

Save TypeScript Crash Course to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in TypeScript Crash Course with these activities:
Review JavaScript Fundamentals
Solidify your understanding of JavaScript fundamentals, as TypeScript builds upon it. Refreshing your knowledge will make learning TypeScript concepts easier.
Browse courses on JavaScript Fundamentals
Show steps
  • Review data types, variables, and operators in JavaScript.
  • Practice writing basic JavaScript functions and control flow statements.
  • Familiarize yourself with JavaScript's object-oriented programming concepts.
Read 'Programming TypeScript'
Gain a comprehensive understanding of TypeScript from basic to advanced topics. Reading this book will help you write more scalable JavaScript code.
Show steps
  • Read a chapter of 'Programming TypeScript' each week.
  • Try out the code examples in the book.
  • Reflect on how the advice in the book applies to your own projects.
Read 'Effective TypeScript'
Gain a deeper understanding of TypeScript best practices and advanced techniques. Reading this book will help you write more efficient and maintainable TypeScript code.
View Effective Typescript on Amazon
Show steps
  • Read a chapter of 'Effective TypeScript' each week.
  • Try out the code examples in the book.
  • Reflect on how the advice in the book applies to your own projects.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Write a Blog Post on TypeScript Utility Types
Deepen your understanding of TypeScript utility types by explaining them in a blog post. Teaching others is a great way to reinforce your own knowledge.
Show steps
  • Choose a specific TypeScript utility type to focus on.
  • Research the utility type and understand its purpose and usage.
  • Write a clear and concise explanation of the utility type, including examples.
  • Publish your blog post on a platform like Medium or your own website.
TypeScript Type Challenges
Sharpen your understanding of TypeScript types and generics through practical exercises. Completing these challenges will improve your ability to write type-safe code.
Show steps
  • Find online TypeScript type challenge resources.
  • Work through a set of type challenges each week.
  • Review solutions and explanations to learn from your mistakes.
Convert a JavaScript Project to TypeScript
Apply your TypeScript knowledge by converting an existing JavaScript project. This hands-on experience will solidify your understanding of TypeScript concepts and best practices.
Show steps
  • Choose a small to medium-sized JavaScript project to convert.
  • Gradually add type annotations and refactor the code to use TypeScript features.
  • Address any type errors and ensure the project still functions correctly.
  • Write unit tests to ensure the converted code is working as expected.
Contribute to a TypeScript Open Source Project
Gain practical experience and contribute to the TypeScript community by contributing to an open-source project. This will expose you to real-world TypeScript code and development workflows.
Show steps
  • Find a TypeScript open-source project that interests you.
  • Read the project's documentation and contribution guidelines.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete TypeScript Crash Course will develop knowledge and skills that may be useful to these careers:
Frontend Engineer
A Frontend Engineer specializes in developing the user interface of websites and web applications. This course is ideal for anyone interested in frontend engineering because it teaches TypeScript, which is increasingly popular in modern frontend development. The course's detailed coverage on type annotations, interfaces, classes, and modules will help a frontend engineer write code that is more maintainable and less prone to bugs. Moreover, the course will help a frontend engineer learn the TypeScript compiler and how to implement TypeScript in frontend projects. Anyone seeking a role in frontend engineering will find this course extremely valuable.
Web Application Developer
A Web Application Developer builds interactive web-based applications. Since TypeScript is often used in modern web application development, this course provides an excellent starting point. The course covers everything from basic type annotations to more advanced concepts such as interfaces, classes, and modules, all of which are essential for building scalable web applications. The course will help a web application developer learn the TypeScript compiler. In addition, the course provides a foundation for a web application developer trying to build robust and well-organized code. This course is a great starting point for web application development.
Software Developer
A Software Developer builds and maintains applications using various coding languages. This course is useful for any aspiring software developer who plans to work with JavaScript, because it introduces TypeScript, a superset of JavaScript that adds static typing. The course covers type annotations, functions, interfaces, and classes, which are all fundamental concepts for building robust software. The course offers hands-on experience with tools like the TypeScript compiler, which is invaluable for writing code. The course's inclusion of modules also helps a software developer understand how to organize code, making it more maintainable and scalable. A software developer should take this course to learn a language that enhances JavaScript and improves code quality.
Application Developer
An Application Developer builds and maintains software applications. This course is highly relevant to any application developer who uses JavaScript in their work, because it introduces TypeScript, a language that enhances JavaScript with static types. The course covers key topics including type annotations, functions, interfaces, and classes, which are critical to developing robust applications. The course's practical approach, which includes installing and setting up the necessary software, as well as detailing the compiler, makes it very helpful for application developers. The course provides a deep dive into object oriented concepts by exploring classes, inheritance, and modules, all valuable for application development.
Full-Stack Developer
A Full Stack Developer is proficient in both frontend and backend development. Because TypeScript is commonly used in both areas, this course is highly relevant for anyone aspiring to become a full stack developer. The course's emphasis on static typing, classes, and modules will enable a full stack developer to write cleaner and more robust code. The course's in-depth explanation of the TypeScript compiler is also very useful, helping you transition more smoothly into a full stack role. A full stack developer will find the modules portion of the course especially valuable because they will need to make code that is well-organized and scalable. This course will provide a solid foundation for full stack development.
Web Developer
A Web Developer specializes in creating websites and web applications. This course introduces TypeScript, which is used by many web developers, making the course a great starting point for those interested in this role. The course provides instruction into key concepts such as type annotations, interfaces, and classes. Specifically, the course provides a solid foundation for any web developer looking to use TypeScript. The course will show how to install and set up the necessary software for web development, and it provides an introduction to TypeScript, which is a superset of JavaScript. This course helps web developers write more reliable code, and thus become more efficient in their work.
UI Developer
A UI Developer focuses on creating the user interface of applications and websites, making sure they are visually appealing and user-friendly. This course is useful for any UI Developer who uses Javascript, because TypeScript, the language this course teaches, is a superset of Javascript. TypeScript allows UI developers to write code with static typing, thus leading to more maintainable projects and reducing errors. This course will be helpful for learning the fundamentals of TypeScript, as it covers type annotations, functions, interfaces, and classes, which are crucial for crafting effective user interfaces. The course also presents how TypeScript is compiled into Javascript, which will be very valuable to anyone seeking a UI role.
Software Engineer
A Software Engineer designs, develops, and tests software systems. This course is beneficial for software engineers primarily working with JavaScript on projects that could benefit from the static typing that TypeScript provides. The course's extensive coverage of type annotations, classes, and modules will help a software engineer write code that is more manageable and scalable. The course explains how TypeScript improves organization and maintainability of codebase. Software engineers will find the course's explanations of the TypeScript compiler especially beneficial for developing code, and this course will give them a stronger grasp of how to use the language.
Mobile Application Developer
A Mobile Application Developer creates applications for mobile devices. While TypeScript is not the primary language for all mobile platforms, its use in hybrid mobile frameworks makes this course beneficial for mobile application developers. The course provides a solid introduction to working with static types, interfaces, and object oriented concepts using TypeScript, which a mobile application developer may use in their work. This is useful for any mobile developer working with frameworks like React Native, which uses Javascript and Typescript. This course may be useful for any mobile app developer using JavaScript or considering using it.
Backend Developer
A Backend Developer is responsible for server-side logic and database management. This course may be useful for a backend developer who works with Node.js because TypeScript can be used on the backend. This course will help a backend developer because it covers key concepts such as type annotations, interfaces, classes, and modules. The course describes how to use the TypeScript compiler. All of this will help a backend developer write more robust and maintainable code. Many backend developers are using JavaScript, and TypeScript is a superset of the language, making this course especially valuable. For a backend developer, this course may be a worthwhile investment.
Tech Lead
A Tech Lead guides a team of developers and makes technical decisions. This course may be useful for a tech lead who oversees JavaScript projects that could benefit from the static typing TypeScript provides. The course covers key concepts such as type annotations, interfaces, classes, and modules, all of which help in creating more robust codebases. A tech lead may find the explanation of the TypeScript compiler useful, as well as help them understand the benefit of using the language. This course may allow a tech lead to better understand and make decisions regarding their project.
DevOps Engineer
A DevOps Engineer focuses on automating and streamlining software development and deployment processes. While TypeScript is not directly used in all aspects of DevOps, the ability to build robust and reliable tools is very important. This knowledge helps DevOps engineers write scripts, configure systems, and manage automation using software. Knowledge of static types and interfaces will help a DevOps engineer develop the tools needed to automate and streamline development using languages that use or transpile to JavaScript. This course may help a DevOps engineer who works with JavaScript or systems using it.
Game Developer
A Game Developer creates video games for various platforms. While TypeScript is not a primary language for game development, it can be used in specific areas, such as game engines or web-based game interfaces, making this course useful to some developers. The course introduces key concepts such as type annotations, interfaces, and classes, which may be useful in certain game development contexts. The course helps a developer understand how the TypeScript compiler works. For a game developer working with JavaScript for parts of their work or for UI development, especially in certain engines, this course will be helpful.
Solutions Architect
A Solutions Architect designs and plans software solutions. While this course focuses on TypeScript, which is not always a main tool for a solutions architect, the concepts and skills taught can be useful for anyone planning large and complex software projects. The course covers organization of code using modules, as well as type annotations to help improve code quality, which is useful when planning complex systems. A solutions architect who has to design a system that includes JavaScript might find that the course helps them better understand the limitations and possibilities using this language. This course may be useful for anyone in a Solutions Architect role.
Data Scientist
A Data Scientist analyzes complex data to extract insights. While this course primarily focuses on TypeScript, which is not a core tool for data science, the ability to write clean, organized code becomes relevant for larger data projects. The course includes an overview of modules, which helps to improve code organization, which can be especially important for managing large projects. The course's explanations of types, interfaces, and object oriented concepts may help a Data Scientist build more robust data pipelines using the Typescript language. This course may be of use to a Data Scientist who uses or plans to use JavaScript in their workflow.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in TypeScript Crash Course.
Provides practical advice on writing effective TypeScript code. It covers a wide range of topics, from basic type annotations to advanced techniques. It valuable resource for anyone who wants to improve their TypeScript skills and write more maintainable code. This book is best used as a reference to deepen your understanding of TypeScript.
Comprehensive guide to TypeScript, covering everything from the basics to advanced topics. It good choice for developers who want to learn TypeScript from scratch or who want to deepen their understanding of the language. This book is best used as a reference to deepen your understanding of TypeScript.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser