My way of learning Typescript

Hello, guys!

Since the end of February, I began to study typescript, because at one point I realized that I do not fully understand all the features of generics and, in general, my understanding of the capabilities of language ​​is lame.

Theory

My learning journey started with the 'Typescript' course from the ui.dev platform. In fact, the course covered almost all the basic and bonus aspects of typescript. In particular, the most important for me were:

  1. How typescript inferring in our types
  2. Type Constraints
  3. Type Predicate
  4. Generics in depth

I personally recommend this course to everyone, because unlike many others, it has a perfect balance between theory and practice. There are also quizzes in the course to consolidate theoretical knowledge and, in addition to the video with the recording of the lesson, a written version is attached.

my 'Typescript' course certificate from ui.dev platform My 'Typescript' course certificate from ui.dev platform

Practice

Practice is the main way to consolidate your skills. The course provided excellent practice, but still, in addition to it, I wanted to place more emphasis on solving some problems, and in particular writing complex and interesting generics.

Typescript puzzles from the bifrontend platform helped me with this. Puzzles are tasks in which you yourself have to write generics of varying complexity. Starting from such basic ones as Partial, Required, Readonly and ending with complex ones like MapStringUnionToObjectUnion. Each puzzle contains several test cases that must be completed for a successful solution.

There are a total of 60 Typescript puzzles on this platform and it will take a lot of time to solve all of them yourself, but this practice is worth it!

Knowledge sharing

The last but no less important part of learning is knowledge sharing. Every Saturday I decided to organize meetings with my friends front-end developers and share with them the knowledge gained from the course. We also jointly solve problems on bigfrotend to consolidate the material.

In the process of teaching others, I myself consolidate the knowledge already gained even better due to the fact that I must be ready to answer any question on the topic. The result of the first practice was the solution of the first 10 puzzles on bifrontend and the study of Typescript constraints, Mapped types and infer.

I will continue my learning process and share with you here! All the best and thank you for your attention!

Knowledge sharing meeting with friend at my house Our first saturday knowledge sharing meeting (I am blond now :D)