mrkeyoor.com_
Fri 11 Sept 15:57 UTC
Webevaluationupdated 11 Sept 2026

30-Days-Of-JavaScript review

30 Days of JavaScript is a free, English-first course arranged as 30 daily reading and practice chapters. It starts with variables and browser-console work, then moves through functions, objects, promises, the DOM, events, and small browser projects; translations are linked for nine other languages.

Verdict

Our lab did not run 30 Days of JavaScript because the repository is course material with no supported project target or Dockerfile, so there is no install or test claim behind this review. Use it as a friendly exercise book for a first month with browser JavaScript, especially if you will verify confusing examples against MDN. Choose a more actively edited course if you need assessed work, current Node guidance, or complete final-project instructions.

We ran it

Screenshot of 30-Days-Of-JavaScript (github.com/Asabeneh/30-Days-Of-JavaScript)

Answers from our run

Did you run 30-Days-Of-JavaScript yourself?

No. Its code is JavaScript, and it carries no manifest our lab installs from, and no Dockerfile, so there was nothing standard to install, build or test. This review is written from the repository's own documentation.

Who should not use 30-Days-Of-JavaScript?

Learners who need current runtime advice without checking another source: Day 1 still shows Node v12.14.0 and calls v14.17.6 the recommended download.

What are the alternatives to 30-Days-Of-JavaScript?

The Modern JavaScript Tutorial, The Odin Project Curriculum, freeCodeCamp. Use it as a friendly exercise book for a first month with browser JavaScript, especially if you will verify confusing examples against MDN.

Setup4/5A browser and editor are enough; there is no reproducible course runner
Docs3/5Thirty readable chapters, with stale examples and unfinished sections
Community4/546,785 stars and 2026 edits, alongside 369 open issues and PRs
Maturity3/5A long-used 2020 course without releases or a recognized license

Who it’s for

Complete beginners who want one small JavaScript topic and a set of exercises each day.
Self-directed learners who learn by typing examples into a browser and changing them.
New frontend developers who want practice with DOM events before choosing a framework.
Teachers looking for a large bank of short examples and project prompts to adapt with their own review process.

Who it’s NOT for

Learners who need current runtime advice without checking another source: Day 1 still shows Node v12.14.0 and calls v14.17.6 the recommended download.
Students who expect every example to run as pasted: issue 995 points out that Day 18's top-level await example fails outside a module or async function.
Anyone who needs complete graded projects or official solutions: Day 30 labels three exercise levels, but Levels 2 and 3 are empty.
People who depend on polished error-handling practice: issue 1020 says Day 14 has an incorrectly named lesson file and lacks try-catch exercises.
Schools or publishers that require an explicit reuse license: GitHub reports no recognized license for the repository.

Setup reality

Our lab did not run this repository because it is JavaScript learning material without a supported project target, and it has no Dockerfile. There are therefore no measured install, build, or test results to report.

The first lesson asks for a computer, internet access, a browser, and a code editor. It introduces the Chrome console and Visual Studio Code; Node is described as something learners may need later. The course itself needs no account or API credential.

Many lessons use plain HTML and script files, while later exercises call public web APIs. Browser behavior, API availability, and newer JavaScript rules should be checked against current MDN pages. This is a set of chapters and starter files, not a versioned application environment.

Thirty chapters move from syntax to browser projects

The course lays out exactly 30 days, beginning with variables and data types before covering arrays, loops, functions, objects, sets, regular expressions, errors, classes, JSON, promises, and closures. Days 21 through 23 introduce the DOM and events. The final week switches to small browser projects such as a solar-system calculator, country-data charts, a portfolio, a leaderboard, and animation. Beginners can see where the route leads without joining a platform or unlocking lessons.

Each chapter mixes conversational explanation with short code blocks and exercises. Day 18, for example, moves through callbacks, the Promise constructor, Fetch, async functions, and await before assigning work with country and cat APIs. This breadth is useful for a first pass. It is less convincing as a sole reference because a daily chapter often compresses several concepts that deserve separate debugging sessions. The repository description wisely admits the 30-day challenge may take more than 100 days.

Ten Day 1 exercises make practice the main attraction

Day 1 ends with 10 exercises after walking through the console, script tags, primitive values, comments, and variables. Later lessons commonly divide practice into levels, and Days 24 through 29 turn DOM work into visual projects. The prompts make learners produce something instead of only reading syntax. Starter HTML, JavaScript, images, and data files lower the blank-page cost while leaving the implementation to the student.

The final day is unfinished. Day 30 advertises 3 exercise levels, yet only Level 1 contains tasks: reproduce a country animation and validate a form with regular expressions. Levels 2 and 3 have headings without assignments. There is no integrated grader in the course flow, so learners must judge output themselves or ask another person for review. That is fine for an exercise book and weak for anyone buying into a formal curriculum experience.

What happened when we ran it

Our lab did not run the repository. The checkout was classified as JavaScript learning content without a supported project target, and no Dockerfile was present. We therefore have no measured dependency count, install duration, build outcome, or test result. Calling the examples readable is an editorial judgment based on the material; it is not a claim that every snippet passed in our Debian sandbox.

That result matches the repository's shape. It contains Markdown chapters, starter pages, scripts, media, and data rather than one application with a top-level runtime. A learner is meant to open individual pages, use the browser console, and edit files. This flexibility makes the first day easy to start, while it gives teachers no standard command for checking all 30 days against one browser or JavaScript version.

Node 14 advice and top-level await need outside checks

The introduction is dated January 2020 and shows Node v12.14.0 from the author's machine. It then says v14.17.6 is the recommended download, advice that belongs to a much older Node era. The early chapters mostly use browser JavaScript, so the dated runtime does not spoil every lesson. New students should still install a currently supported Node release and use its documentation rather than treating the screenshot as a version pin.

Day 18 contains a sharper correctness problem. Its example assigns const value = await square(2) at top level and prints 4. Issue 995 explains that this throws unless the code is in a module or the await sits inside an async function. A beginner following the course's ordinary script-tag setup can hit that error with no nearby explanation. The lesson remains useful after wrapping the call or switching to module context.

Open issues identify errors in specific lessons

GitHub listed 369 combined issues and pull requests when fetched. Issue 1020, updated September 8, 2026, says Day 14's lesson file has the wrong name and asks for try-catch exercises. The measured commit confirms that the Day 14 directory contains a Markdown file named after Day 13. Issue 983 questions the Day 3 truthy-value wording, while older issue 364 corrects a displayed result for String.match. These are concrete editing gaps, not proof that the entire course is wrong.

Ten languages widen access without equal guarantees

The main page links English plus 9 translations: Spanish, Italian, Russian, Turkish, Azerbaijani, Korean, Vietnamese, Polish, and Portuguese. That is unusually welcoming for a free beginner course. Translation coverage can differ by day, and issue 978 reports trouble exposing an Arabic work in progress. A learner should check the target language's later chapters before committing to the full schedule rather than assuming every translation mirrors all 30 English lessons.

No release history exists, and GitHub detects no repository license. The first point means there is no stable course version to pin or changelog to consult. The second matters more for teachers who want to copy, modify, or publish the chapters. Public source and 46,785 stars do not by themselves grant reuse rights. Reading from GitHub is straightforward; redistribution deserves direct permission or a clear license addition from the owner.

It works best beside MDN and a human reviewer

30 Days of JavaScript is generous, approachable material with enough exercises to fill far more than 30 evenings. Its best use is guided self-study: read one chapter, run every example, complete the prompt, then verify behavior in MDN and ask for code review. The course gives beginners momentum and visible projects without forcing a framework before they understand DOM events. It should not carry the whole burden of teaching current runtime behavior or professional testing.

The Modern JavaScript Tutorial is stronger when explanations and current language details matter most. The Odin Project adds a broader web path and project sequence, while freeCodeCamp supplies immediate tests in the browser. Start here if the daily rhythm and downloadable files keep you practicing. Move to one of those alternatives when an empty Level 2, a disputed example, or the absence of automated feedback begins costing more time than the simple format saves.

Alternatives

ProjectWhat it isPick it when
The Modern JavaScript TutorialA maintained JavaScript course that covers the language and browser APIs in greater reference depth.pick this instead when you want current explanations and deeper coverage more than a 30-day challenge format.
The Odin Project CurriculumA project-led web-development curriculum that extends beyond JavaScript into a full learning path.pick this instead when you want structured projects, Git practice, and a broader route into web development.
freeCodeCamp gh↗An interactive curriculum with browser-based exercises, tests, projects, and certifications.pick this instead when automated feedback and a hosted exercise environment matter more than reading Markdown locally.

What people are saying

  1. [github-trending] Asabeneh/30-Days-Of-JavaScript

Sources

  1. 30 Days of JavaScript README
  2. Day 18 Promises lesson
  3. Day 30 final projects lesson
  4. Day 18 top-level await issue
  5. Day 14 filename and exercise issue
  6. Day 3 booleans issue

More web reviews

html5-boilerplate · p5.js · lighthouse · video.js · fluentui · return-youtube-dislike · the whole board →