From Basics to Advanced Techniques
Requirements
- Modular Pattern
- Callbacks
- Advantage of named function callbacks over anonymous function callback
- EcmaScript 6 Proficiency (ES6)
- Differences between ES5 and ES6 and how to refactor old to new
- Hoisting
- IFFE
- Dynamic vs. Lexical Scope
- Prototypes & Classes
- Closures
- Asynchronous
- ES6 Promises
- ES7 async & await
- Basic understanding of http and https
- Unit Tests
- Framework
- Mocha
- Abstraction layer
- Assert
- Framework
- Functional programming
- Why use
- What is it
Intro to JavaScript
JavaScript is the programming language used on both the front-end (React & Redux) and the back-end (Node.js). It's the language you will need to spend the most time becoming proficient in.
First let's get introduced to the language. JavaScript for Cats is a lighthearted introduction to the JavaScript language and a great starting point. Code school offers many course that you can go through on JavaScript for a fee. The first "roadtrip", JavaScript - Code School, is free.
Kyle Simpson has written a series of books diving deep into the core mechanisms of the JavaScript language. Reading through these books and practicing the concepts in your projects will quickly advance your knowledge and skill with the language. Here is a GitHub link to the book series: You Don't Know JS
- egghead.io: Egghead.io offers bite sized web development video training. Unfortunately, this costs a fee, but the lessons offered are great. If you are a GoGuardian employee, you'll have access to our company account. "Level up your programming skills today with condensed video lessons on industry leading web frameworks and tools!"
- this keyword and binding: Understand the "this" keyword binding in JavaScript
ES6
- ECMAScript 6 Feature Guide
- Exploring ES6 - A Full Book on the Next Version of JavaScript
- ES6 Modules
- ES6 Fiddle: Resource for playing around with ES6 syntax
- ES6 Cheatsheet - YouTube
Asynchronous
Promises
- HTML5 Rocks - JavaScript Promises
- spring.io - Understanding JavaScript Promises
- MDN - JavaScript Promise
- Using Promises in the Twilio Module for Node.js
- Great video tutorial on Promises
- Gives demo of callback hell versus promisified code
- Explains chaining
- Explains syntactical differences between Q and Bluebird libraries (bluebird being what we use at GG)
- https://www.youtube.com/watch?v=OU7WuVGSuZw