Through my career I have worked with lots of different programming languages, framework, libraries and patterns - and I've always enjoyed learning new things
For one role, I spent 2 years doing pure TypeScript development, and consider myself a talented TypeScript developer
There is always more to learn though, and there were some features of the language I wasn't very familiar with
I decided to try and learn some of the less commonly used, and more difficult features of TypeScript
Advanced features like:
The whole point of 30-projects is to code more, build more and ship more - so following along a course wasn't quite in the spirit of the challenge
I wanted to be "hands-on" and either build something with these features, or complete coding exercises by using the features
This was when I discovered Execute Program (I'm not affiliated, or paid in any way)
I could get hands on "practice" learning the features, and the curriculum would only let you move on if you complete exercises (and passed the tests)
This was much closer to the spirit of 30-projects, so a few months ago I started working through their TypeScript courses
I initially only started with the TypeScript challenges but ended up doing more courses than I expected!
Static types and the TypeScript language from the ground up.
172 code examples in 25 lessons
TypeScript types for everyday application development.
421 code examples in 52 lessons
Complex types used in reusable library and framework code.
278 code examples in 29 lessons
Modern JavaScript features supported by all browsers.
467 code examples in 44 lessons
Callbacks, promises, async/await and event loops.
222 code examples in 33 lessons
Slice, filter, map, reduce, and other array methods.
219 code examples in 24 lessons
For the most part, these courses were great - and gave me a really good reference sheet to remind myself of these advanced features (should I ever forget them) - and got me using them in code rather than just reading about them!
This project is a little harder to showcase as it's just personal challenges solved in my Execute Program account, and it doesn't feel right to share their (paid and private) challenges - but I learned a lot, and will be writing blog posts on the more advanced TypeScript features later!
Onto project eight ✔️