Skip to content

MLY93/JSFundamentals

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

JavaScript: THE FUNDAMENTALS

💻After listening to the most recent Syntax.fm podcast detailing the Fundamentals of JavaScript, I realised I needed to learn brush up! It is a damned good episode and well worth a listen->->-> Syntax.fm show 162.

I’ve made myself a bit of a checklist here and wanted to share in case anyone else would find it remotely useful. Please feel free to add/correct any of the below via PR. As I go through and delve into all of these things, I will be linking to the resources I find most useful for getting to grips with these fundamentals. Similarly, feel free to suggest your own 😄

Variables!

Know your var from your let from your const! Know the scope of each and when to use them.

confused about var, let, and const

Scoping!

Understand where and when variables are available to you based on when they have been created and used. The differences between block and function scope. How the scope lookup works.

confused about scoping

Types!

What are the seven types of value available to you in JavaScript?

function is undefined meme

Functions!

What are the different types of function, how are they used and why? Understand the scope that comes along with each. Know the difference between a function and a method as well as how they interact.

functions meme

The DOM!

Understand how the raw dom works and practice interfacing with elements via JS. Know the difference between a node and an element.

meme: Don't touch the dom!

Object.prototype!

How does it work and know what “this” is equal to at any given point.

comic about confusion around this

Events!

Know how events work in real-world use cases. Know the use of Click, Mouse, and Pointer events. Try dispatching your own custom events.

meme about memory leak due to event handlers

Bubbling and propagation!

How and why do those work.

Bubbles from finding nemo

Array Methods!

Understand arrays themselves, and how to manipulate them. Push, pop, slice, splice. Have a good grasp of when to change an existing array and when to create a new one, as well as when to use an array vs object. Mutation vs immutability in general is good stuff to know!

Array Methods meme

Flow control!

Knowing how to order and condition things properly and efficiently is key! You need to know about the different ways of Looping and how they work.

Ternary meme

Truthy and falsy!

Know how these differ from true and false and the use cases for each.

Truthy and Falsy putting in the hydrangeas

Security, accessibility, and XSS!

You want at least a basic understanding of how domains are communicating and what they have reciprocal access to, as well as API requests, headers and responses. Gain a good foundation into accessibility so as not to accidentally exclude a valuable portion of your users!

Found a job where they care about accessibility

Modules!

Know at least Import, export and named vs default. Understand that modules have their own scope and can share data from one to another.

functions meme

Closures!

What is a closure? What they do? And why they might be useful?

Now that is closure!

Requests!

Know how to obtain data from an API, parse it, and use it via JSON or GraphQL.

A Billion API requests

JSON!

You should be able to explain what it is, how, and why it is used.

When a third party API sends XML instead of JSON

Clean Code!

Have a decent repertoire of best practices in clean code to underpin and supplement all your new-found JavaScript knowledge!

Don't be that guy that writes unmaintanable code and leaves