Skip to content

the-senior-dev/fundamentals-javascript-midlevel-SeanRavenhill

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TSD Academy - JavaScript Midlevel Action Item πŸš€

In this exercise we will focus on JavaScript Design Patterns and Asynchronous Programming. πŸ› οΈπŸ§ 

theSeniorDev

Learning Objectives 🎯

  1. Understand various JavaScript Design Patterns.
  2. Master Asynchronous JavaScript programming.
  3. Gain proficiency in Test-Driven Development (TDD).

Getting Started πŸ› οΈ

  1. πŸ“¦ Clone this repository.
  2. πŸ“š Run npm install to install dependencies.
  3. πŸ§ͺ Run npm test to run the Jest tests.

ai-tools ⚠️⚠️⚠️ We strongly advise against using AI tools like 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!all-test-pass


πŸ“‹ Progress Sheet

Legend:

  1. 🟩 EASY - problems that are pretty much straightforward
  2. 🟨 MEDIUM - a challenge for a mid-level dev
  3. πŸŸ₯ HARD - harder problems that use advanced techniques

🌟 01. JavaScript Design Patterns

⏳ 02. Asynchronous JavaScript

πŸ” 03. Advanced Functions

πŸ” 04. Advanced Async


πŸ“– Problems Breakdown 🎯

JavaScript Design Patterns

01. Easy Currying

Understand the basics of function currying by completing this exercise.

πŸ§ͺ Run Tests:

npm run test:watch 01_easy_currying

02. Advanced Currying

Master advanced function currying in JavaScript. Try the exercise.

πŸ§ͺ Run Tests:

npm run test:watch 02_advanced_curry

03. Prototypal Inheritance

Learn how inheritance works in JavaScript with this exercise.

πŸ§ͺ Run Test:

npm run test:watch 03_object_inheritance

04. Higher Order Function: Timed Execution

Learn to implement timed execution of functions. Get started with this exercise.

πŸ§ͺ Run Tests:

npm run test:watch 04_timed_execution

Asynchronous JavaScript

06. Delayed Print

Understand setTimeout through this exercise.

πŸ§ͺ Run Tests:

npm run test:watch 06_delayed_print

07. Interval Counter

Learn how to use setInterval with this exercise.

πŸ§ͺ Run Tests:

npm run test:watch 07_interval_counter

08. Auto Stop Counter

Master timers by making one that stops automatically in this exercise.

πŸ§ͺ Run Tests:

npm run test:watch 08_auto_stop_counter

09. Promise Timer

Get to grips with Promises by building a timer in this exercise.

πŸ§ͺ Run Tests:

npm run test:watch 09_promise_timer

10. Promisify

Learn how to convert callback-based functions to promises in this exercise.

πŸ§ͺ Run Tests:

npm run test:watch 10_promisify

11. Async Fetcher

Try using async and await for fetching data in this exercise.

πŸ§ͺ Run Tests:

npm run test:watch 11_async_fetcher

Advanced Functions

12. this in arrow functions

Gain a deeper understanding of the this object in arrow functions with this exercise.

πŸ§ͺ Run Tests:

npm run test:watch 12_thisInArrowFunction

13. this in normal functions

Explore the behavior of this in standard functions in this exercise.

πŸ§ͺ Run Tests:

npm run test:watch 13_thisInNormalFunction

14. Borrow Method using Call

Master the call method by borrowing methods from other objects in this exercise.

πŸ§ͺ Run Tests:

npm run test:watch 14_borrow_method

theSeniorDev

Getting Feedback & Help

If you have issues with the Action Item, you can ask for help in the Community.

Made with ❀️ in Berlin by @TheSeniorDev

About

software-mastery-2024-fundamentals-javascript-midlevel-tsd_academy_js_midlevel created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%