In this exercise we will focus on JavaScript Design Patterns and Asynchronous Programming. π οΈπ§
- Understand various
JavaScript Design Patterns. - Master
Asynchronous JavaScriptprogramming. - Gain proficiency in
Test-Driven Development (TDD).
- π¦ Clone this repository.
- π Run
npm installto install dependencies. - π§ͺ Run
npm testto run theJesttests.
GitHub Copilot or ChatGPT to solve this Action Item! In most interviews, you will be asked to disable those.
π The code is covered in tests aiming for 99% test coverage, setting you up for TDD-style programming. Make sure all tests pass by the end of the exercise!
Legend:
- π© EASY - problems that are pretty much straightforward
- π¨ MEDIUM - a challenge for a mid-level dev
- π₯ HARD - harder problems that use advanced techniques
-
π Function Currying
- π© EASY 01. Easy Currying
- π₯ HARD 02. Advanced Curryin
-
ποΈ Prototypal Inheritance
- π© EASY 03. Prototypal Inheritance
-
π Higher-Order Functions
- π¨ MEDIUM 04. Timed Execution
-
π Timer Functions
- π© EASY 06. Delayed Print
- π¨ MEDIUM 07. Interval Counter
-
π Promises
- π¨ MEDIUM 09. Promise Timer
- π₯ HARD 10. Promisify
-
π Async/Await
- π¨ MEDIUM 11. Async Fetcher
-
ποΈ The THIS Object
- π¨ MEDIUM 12.
thisinarrow functions - π© EASY 13.
thisinnormal functions
- π¨ MEDIUM 12.
-
π Call / Apply / Bind
- π¨ MEDIUM 14. Borrow Method
- π₯ HARD 15.
forEachAsync
Understand the basics of function currying by completing this exercise.
π§ͺ Run Tests:
npm run test:watch 01_easy_curryingMaster advanced function currying in JavaScript. Try the exercise.
π§ͺ Run Tests:
npm run test:watch 02_advanced_curryLearn how inheritance works in JavaScript with this exercise.
π§ͺ Run Test:
npm run test:watch 03_object_inheritanceLearn to implement timed execution of functions. Get started with this exercise.
π§ͺ Run Tests:
npm run test:watch 04_timed_executionUnderstand setTimeout through this exercise.
π§ͺ Run Tests:
npm run test:watch 06_delayed_printLearn how to use setInterval with this exercise.
π§ͺ Run Tests:
npm run test:watch 07_interval_counterMaster timers by making one that stops automatically in this exercise.
π§ͺ Run Tests:
npm run test:watch 08_auto_stop_counterGet to grips with Promises by building a timer in this exercise.
π§ͺ Run Tests:
npm run test:watch 09_promise_timerLearn how to convert callback-based functions to promises in this exercise.
π§ͺ Run Tests:
npm run test:watch 10_promisifyTry using async and await for fetching data in this exercise.
π§ͺ Run Tests:
npm run test:watch 11_async_fetcherGain a deeper understanding of the this object in arrow functions with this exercise.
π§ͺ Run Tests:
npm run test:watch 12_thisInArrowFunction
Explore the behavior of this in standard functions in this exercise.
π§ͺ Run Tests:
npm run test:watch 13_thisInNormalFunctionMaster the call method by borrowing methods from other objects in this exercise.
π§ͺ Run Tests:
npm run test:watch 14_borrow_methodIf you have issues with the Action Item, you can ask for help in the Community.
Made with β€οΈ in Berlin by @TheSeniorDev
