Where do I start? Part 3: JavaScript
Tags: beginners, webdev, javascript
Published: 2019-03-11 03:28:16

---
title: Where do I start? Part 3: JavaScript
published: true
description: A short blog with some list of links and guides for folks starting out.
tags: beginners, webdev, JavaScript
---
## This time
Hi all, I'm back with another installment of these lists of lists. This time around I'm talking about JavaScript. So as always, I'm just some guy and by no means an expert please **correct** me in the comments if I'm talking out of the side of my you-know-what.
## JavaScript
JavaScript is an amazing language. You can manipulate the DOM, build games, and make cool apps. There are many things you can do in this language but I'll highlight some of the things beginners need to learn and most of this will apply to other languages as well.

I said in a previous post to learn JavaScript after all the other things like HTML and CSS. But, if you really want to learn JavaScript, do so in isolation and that's how I would tell you to practice, at first. But if you're already familiar with HTML and CSS, go for it! I believe in you!

## Things to learn
There's a lot to learn in any language and it can be confusing for your first so here are some personal favorite resources on learning JavaScript.
### Topics to Study:
- **variables**, how to define them
     - let & const (**don't** use var, I mean it!!)
     - variable scope (is the variable accessible)
- **data types**
     - number, string, boolean, symbol
     - type conversion and testing, **typeof**
- **reference data types**
     - objects, arrays, etc.
- **operators**
     - addition, subtraction, division, multiplication, and more!! (+, -, /, *)
- **functions**
     - a reusable piece of code that is sometimes called a procedure if it doesn't return anything, but everyone just says function, unless they're being fancy or pedantic
     - **control flow**
          - **loops**
               - for, while, for-in, for-of
          - **conditional statements**
               - if, else if, else, [try, catch, finally] -> debugging
- keyword **this**
     - **call**, **apply**, and **bind** -> when/how to use them and where
- **arrow functions**

- **DOM Manipulation**
     - create, remove, modifying an **element**
     - adding CSS **class** to element to modify it

### Resources
- **Courses**
     - [P1xt Get Job ready - JavaScript Edition - Version 3.0 ](https://github.com/P1xt/p1xt-guides/blob/master/job-ready-javascript-edition-3.0.md)
     - [Rithm School JavaScript](https://www.rithmschool.com/courses/javascript)
          - [Intermediate JS I](https://www.rithmschool.com/courses/intermediate-javascript)
          - [Intermediate JS II](https://www.rithmschool.com/courses/advanced-javascript-part-2)
     - [The Modern JavaScript Tutorial](https://javascript.info/)
- **Videos**   
     Free Code Camp
     - [Intro to JS - 1hr](https://www.youtube.com/watch?v=_y9oxzTGERs)
     - [JS full course - 3.5hrs](https://www.youtube.com/watch?v=PkZNo7MFNFg)
     - [Bleeding Edge JS ES6, ES7, ES8 - 1hr](https://www.youtube.com/watch?v=nZ1DMMsyVyI)
     - [JS Classes - 1hr](https://www.youtube.com/watch?v=2ZphE5HcQPQ)

     TraversyMedia
     - [JS Fundamentals for beginners - 1hr](https://www.youtube.com/watch?v=vEROU2XtPR8)
     - [JS DOM Crash Course pt. 1 - 39mins](https://www.youtube.com/watch?v=0ik6X4DJKCc)
          - [Pt. 2 - 21mins](https://www.youtube.com/watch?v=mPd2aJXCZ2g&t=3s)
          - [Pt. 3 - 33mins](https://www.youtube.com/watch?v=wK2cBMcDTss&t=3s)
          - [Pt. 4 - 22mins](https://www.youtube.com/watch?v=i37KVt_IcXw&t=3s)
- **Sites**    
     - [X in Y minutes JavaScript (A quick reference guide to JS)](https://learnxinyminutes.com/docs/javascript/)
     - [MDN Javascript (Mozilla Developers Network ref)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
     - [W3Schools JavaScript & HTML DOM Reference](https://www.w3schools.com/jsref/default.asp)
     - [JavaScripture (Testing ground and reference for JS APIs)](https://www.javascripture.com/)
     - [JavaScript Garden (gotchas, exceptions, and JS quirks)](http://bonsaiden.github.io/JavaScript-Garden/)
- **Recommended Reading**     
     If a book has a legally free version, I will link it. Otherwise, I'll link to its Google books page.
     - [Eloquent JS](https://eloquentjavascript.net/)
     - [You Don't Know JS Series](https://github.com/getify/You-Dont-Know-JS)
     - [JavaScript and JQuery (oldie but decent visual aids IMHO)](https://books.google.com/books/about/JavaScript_and_JQuery.html?id=LpctBAAAQBAJ)

Next time I'll share some links on learning OOP or object-oriented programming in JS and how their classes work. There is a wealth of resources online and I can't hope to cover them all but I think these are pretty good and as always I'm open to any comments, critiques, or call outs.