Vanilla JavaScript

In this guide, we will show you how you can learn to code with JavaScript for free. The JavaScript programming language is versatile, popular, and in high demand — making it a great language for learning how to code.

Learn when to use function expressions vs. function declarations in JavaScript, and how these methods for defining functions are different.

Learn how to use JavaScript arrow functions, understand fat and concise arrow syntax, and what to be aware of when using them in your code.

Higher-order functions can take other functions as arguments or return a function as a result. Learn how to use them and why they're useful.

Learn about for...in loops in JavaScript: their syntax, how they work, when to use them, when not to use them, and what you can use instead.

How does JavaScript's scoping system work? Learn how to declare variables, tell the difference between local scope and global scope, and what hoisting is.

Yaphi Berhanu creates a JavaScript clock widget to demonstrate how coding your own components (and not using plugins) leads to leaner, more efficient code.

Yaphi and James walk you through making your own simple JavaScript quiz. This is a fun exercise and a great way to learn a variety of coding techniques.

Learn how to parse query string parameters and get their values in JavaScript. Use the results for tracking referrals, autocomplete, and more.

James Hibbard explains the pitfalls of implementing a sleep function in JavaScript, and digs into solutions for dealing with JavaScript timing issues.

Sort an array of objects in JavaScript dynamically. Learn how to use Array.prototype.sort() and a custom compare function, and avoid the need for a library.

Here's a quick tutorial to build a cipher machine using the JavaScript skills that are covered in my book, JavaScript: Novice to Ninja.

Thanks to transpilers, front-end applications are no longer limited to JavaScript. James Kolce looks at 10 different languages that compile to JavaScript.

Jeff Mott guides you through a step-by-step approach to JavaScript object creation — from object literals to factory functions and ES6 classes.

Samier Saeed walks you through the best way to implement a singleton in JavaScript and examines how that has evolved with the rise of ES6.

Ludovico Fischer introduces you to the Fetch API, a new standard that aims to unify fetching across the web and to replace XMLHttpRequest.

Moritz Kröger shows to use ES6 default parameters and property shorthands to help speed up development and write cleaner, clearer and more organized code.

This article explores JavaScript’s new Promises API, showing how you can leverage promises in your JavaScript development.

Craig Buckler introduces ES6 modules, showing how they can be used today with the help of a transpiler.

Byron covers generators and iterators, two JavaScript features introduced in ES6 (ECMAScript 2015) that have changed the way developers write JavaScript.

Aurelio introduces let and const, two new ES6 keywords for defining variables, showing examples of how they work and how they differ from the var keyword.

Aurelio introduces ES6 methods that work with arrays — Array.* and Array.prototype.* — showing examples of them in action and listing available polyfills.

Aurelio introduces the new ES6 methods that work with strings — String.prototype.* — showing examples of them in action and listing available polyfills.

Aurelio introduces the new and improved ES6 number methods and constants, along with practical examples of how each works, and fallbacks for older browsers.

Artificial intelligence is a huge and extremely complex field. Luckily, a couple of simple rules can give a passable illusion of intention and thought.
M. David Green demonstrates how you can start thinking functionally in JavaScript, by refactoring some all-too-common imperative code to a functional style.

The dynamic nature of JavaScript means that a function is able to not only call itself, but define itself, and even redefine itself.

Begin your journey of programming in JavaScript! Write your first couple of simple JavaScript programs, and begin to get to grips with the language

Many people try learning JavaScript and then give up. Yaphi Berhanu looks at 9 common mistakes and gives you tips to overcome them and master JavaScript!

Camilo Reyes looks at the observer pattern — a handy pattern to use for keeping parts of a page in sync in response to events and the data they provide.