✌️Hello! My name is Tyler Clark and this is the source material for my Advanced JS Fundamentals workshop
Many of the topics I will go over are not required for someone to know in order to be a "web developer". In fact, I know people that have worked in JavaScript for 10 years that have little to no idea of these concepts. So why should you care? I believe that understanding the foundations of JavaScript will take your career to the next level. I really mean it.
Here are some of the real world takeaways from this workshop:
- You will be able to learn new frameworks more quickly.
- Not only will you avoid writing exceptions but will recognize errors quicker.
- It could be the difference between getting a job or even being able to give yourself the infamous "senior" title.
- You will see an overall improvement in your code quality.
This workshop is helpful for developers at any level of their career. Though it assumes that you have at a minimum a basic knowledge of JavaScript such as its syntax
- Setup the project (follow the setup instructions below)
- Install and setup Zoom on the computer you will be using
While there are similarities between each lesson, we will work through each exercise independent of each other.
- Primitive Types, the what, how, and why
- How prototypal inheritance works in JS & Create objects with the
new
keyword - Understanding implicit vs explicit coercion
- Reference execution with the
this
keyword - Understand lexical vs. dynamic scope & Hoisting variables with const, let, var & Immediately invoked function (IIFE)
- Use the ES6 class keyword
- Hide variables with closures
- Understanding strict mode
- git v2 or greater
Git must be available in your PATH
. To verify things are set up
properly, you can run this:
git --version
If you have trouble with any of these, learn more about the PATH environment variable and how to fix it here for [windows][win-path] or [mac/linux][mac-path]
You can work through these exercises through the browser if you want. This is nice because you do not need to clone the repo and set it up on your machine.
To work in the browser, go to this codesandbox
If you'd rather be able to work through the workshop on your own computer clone this repo to your machine.
git clone https://github.com/twclark0/advanced-javascript-fundamentals.git
cd advanced-javascript-fundamentals
I will have at least one exercise for each lesson. All of the exercises will be in the exercises
directory. At the top of each exercise is a description of what the current state of the code is in and what the goal state is supposed to look like. So before you have any questions please make sure you have read the description at the top of the file thoroughly.
As you will see, there is a directory called exercises-completed
that shows the final "answer" to each exercise question.
This material is available for private, non-commercial use under the
GPL version 3. If you have questions about using this workshop material in anyway, please contact me
at tyler@tylerclark.dev