thaddeusrayd / advanced-javascript-fundamentals

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Advanced Javascript Fundamentals

✌️Hello! My name is Tyler Clark and this is the source material for my Advanced JS Fundamentals workshop

Why Should You Care About this 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:

  1. You will be able to learn new frameworks more quickly.
  2. Not only will you avoid writing exceptions but will recognize errors quicker.
  3. It could be the difference between getting a job or even being able to give yourself the infamous "senior" title.
  4. You will see an overall improvement in your code quality.

Pre-Workshop Instructions/Requirements

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

Workshop Outline

While there are similarities between each lesson, we will work through each exercise independent of each other.

  1. Primitive Types, the what, how, and why
  2. How prototypal inheritance works in JS & Create objects with the new keyword
  3. Understanding implicit vs explicit coercion
  4. Reference execution with the this keyword
  5. Understand lexical vs. dynamic scope & Hoisting variables with const, let, var & Immediately invoked function (IIFE)
  6. Use the ES6 class keyword
  7. Hide variables with closures
  8. Understanding strict mode

System Requirements

  • 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]

Setup

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

Edit advanced-javascript-fundamentals

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

Working through it

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.

License

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

About


Languages

Language:JavaScript 100.0%