Awesome
JavaScript30 - 30 Day JavaScript Challenge
Nitish Dayal, Software & Applications Developer
Last Commit Date: May 12, 2017
Course created by Wes Bos Join the challenge (for free!) here - JavaScript30
This repository contains my written guides for the JavaScript30 course by Wes Bos. I wrote these in the hopes of expanding the ways in which people can access this course; not everyone has the data allotments or internet speeds or...whatever the case may be to load multiple high definition videos. Or, maybe, you prefer to have a text-based guide to follow along with/ refer back to. Orrr you're in a library and don't have headphones. Who knows! If you want some documentation to go along with those sweet Wes Bos vids, here you go.
DISCLAIMER: My approach to some of the challenges will vary from the provided answers (found in
the files that end with -FINISHED
on the main repo). Some of the tweaks are just to
include various 'best practices' and some have huge chunks of differences. I try to provide
thorough explanations when I do stray from the path and explain why I chose to do so, but
I want to make it clear that some of these guides don't go hand-in-hand with the videos.
About
Build 30 things in 30 days with vanilla JavaScript; no frameworks, libraries, etc. Pacing is totally up to the individual; if you feel like knocking out 30 challenges in 30 minutes, hey, more power to you, but that would miss the point of this course (IMO). The idea behind these exercises is to utilize small amounts of what would regularly be 'downtime' as moments in which we can build on our knowledge through some simple exercises.
I think it's fair to say that, coming into this course, you should have a decent grasp of JavaScript fundamentals. Comfort when working with functions, callbacks, arrays, and objects will help a great deal in working through the challenges. If you don't, don't worry and do it anyways <3. It might take you more than downtime to complete a challenge, but given that these exercises require you to work with those very topics time and time again, JavaScript30 is still an excellent learning resource.
The starter files (available here) include solutions to most challenges, so this isn't really meant to be taken as some kind of competition. JavaScript30 is focused more on helping developers enhance their current skillset and reducing developer reliance on external JS libraries; if it can be done with a JS library, it can (probably) be done with vanilla JS.
Table Of Contents
- JavaScript Drum Kit
- JS + CSS Clock
- CSS Variables
- Array Cardio, Day 1
- Flex Panel Gallery
- Type Ahead
- Array Cardio, Day 2
- Fun with HTML5 Canvas
- Dev Tools Domination
- Hold Shift and Check Checkboxes
- Custom Video Player
- Key Sequence Detection
- Slide in on Scroll
- JavaScript References vs. Copying
- LocalStorage
- Mouse Move Shadow
- Sort Without Articles
- Adding Up Times with Reduce
- Webcam Fun
- Speech Detection
- Geolocation
- Follow Along Link Highlighter
- Speech Synthesis
- Sticky Nav
- Event Capture, Propagation, Bubbling, and Once
- Stripe Follow Along Nav
- Click and Drag
- Video Speed Controller
- Countdown Timer
- Whack A Mole