Browse all JavaScript lessons.

showing All 461 lessons...

Redux: Normalizing API Responses with normalizr

Redux: Applying Redux Middleware

Redux: Using mapDispatchToProps() Shorthand Notation

Redux: Displaying Error Messages

Redux: Navigating with React Router <Link>

Redux: The Middleware Chain

Redux: Displaying Loading Indicators

Redux: Creating Data on the Server

Redux: Simplifying the Arrow Functions

Redux: Colocating Selectors with Reducers

Redux: Refactoring the Entry Point

Redux: Adding a Fake Backend to the Project

Redux: Persisting the State to the Local Storage

Redux: Normalizing the State Shape

Redux: Adding React Router to the Project

Using GraphQL's GraphiQL Tool

Logging Pretty-Printing Tabular Data to the Console

P

Logging Timing Data to the Console

P

Using console.count to Count Events

P

Proper use of console.assert in JavaScript

P

Grouping and Nesting Console Log Output

P

Advanced Console Log Arguments

P

Log Levels and Semantic Methods

P

Up and Running with Facebook Flow for Typed JavaScript

P

Add a browser build to an npm module

Maps and WeakMaps with ES6

Add Elements onto an Array with Push

Getting Started with Redux Dev Tools

P

Promises with ES6

Refactoring tip: no empty lines inside a function

P

Getting a Pull Request Merged and Wrapping up

How to squash multiple git commits

How to rebase a git Pull Request branch

How to update a Pull Request on GitHub

How to Collaborate on a Pull Request on GitHub

How to create a Pull Request on GitHub

Setting up the project locally

How to Fork and Clone a GitHub Repository

Identifying How to Contribute to an Open Source Project on GitHub

How to authenticate with GitHub using SSH

How to install Git SCM

Exploring a Repository

Exploring GitHub

Introduction to GitHub

Redirect the browser using JavaScript

The JSON.stringify API

JavaScript's Call Stack

Find patterns at the start and end of lines with line anchors in regular expressions

P

Use backreferences in regular expressions

P

Use regular expression word boundaries

P
js tutorial about Redux: Normalizing API Responses with normalizr

Redux: Normalizing API Responses with normalizr

7:58 js

We will learn how to use normalizr to convert all API responses to a normalized format so that we can simplify the reducers.

js tutorial about Redux: Applying Redux Middleware

Redux: Applying Redux Middleware

2:57 js

We will learn how to replace the middleware we wrote and the custom code we used to glue it together with the existing core and third party utilities.

js tutorial about Redux: Using mapDispatchToProps() Shorthand Notation

Redux: Using mapDispatchToProps() Shorthand Notation

1:49 js

We will learn how to avoid the boilerplate code in mapDispatchToProps() for the common case where action creator arguments match the callback prop arguments.

js tutorial about Redux: Displaying Error Messages

Redux: Displaying Error Messages

10:59 js

We will learn how to handle an error inside an async action, display its message in the user interface, and offer user an opportunity to retry the action.

js tutorial about Redux: Navigating with React Router <Link>

Redux: Navigating with React Router <Link>

2:38 js

We will learn how to change the address bar using a component from React Router.

js tutorial about Redux: The Middleware Chain

Redux: The Middleware Chain

8:44 js

We will learn how we can generalize wrapping dispatch() for different purposes into a concept called “middleware” that is widely available in the Redux ecosystem.

js tutorial about Redux: Displaying Loading Indicators

Redux: Displaying Loading Indicators

5:59 js

We will learn how to display the loading indicators while the data is being fetched.

js tutorial about Redux: Creating Data on the Server

Redux: Creating Data on the Server

5:36 js

We will learn how to wait until the item is created on the server, and update the corresponding local state.

js tutorial about Redux: Simplifying the Arrow Functions

Redux: Simplifying the Arrow Functions

2:34 js

We will learn how to reduce the syntactic noise in the action creators and components when using arrow functions.

js tutorial about Redux: Colocating Selectors with Reducers

Redux: Colocating Selectors with Reducers

4:52 js

We will learn how to encapsulate the knowledge about the state shape in the reducer files, so that the components don’t have to rely on it.

js tutorial about Redux: Refactoring the Entry Point

Redux: Refactoring the Entry Point

2:25 js

We will learn how to better separate the code in the entry point to prepare it for adding the router.

js tutorial about Redux: Adding a Fake Backend to the Project

Redux: Adding a Fake Backend to the Project

1:32 js

We will learn about fake backend module that we will be using throughout the next lessons to simulate data fetching.

js tutorial about Redux: Persisting the State to the Local Storage

Redux: Persisting the State to the Local Storage

7:36 js

We will learn how to use store.subscribe() to efficiently persist some of the app’s state to localStorage and restore it after a refresh.

js tutorial about Redux: Normalizing the State Shape

Redux: Normalizing the State Shape

6:46 js

We will learn how to normalize the state shape to ensure data consistency that is important in real-world applications.

js tutorial about Redux: Adding React Router to the Project

Redux: Adding React Router to the Project

1:43 js

We will learn how to add React Router to a Redux project and make it render our root component.

js tutorial about Using GraphQL's GraphiQL Tool

Using GraphQL's GraphiQL Tool

6:07 js

We'll learn how to use GraphQL's GraphiQL tool as an IDE for writing GraphQL queries, covering how to write a query, leverage query variables, perform specific operations, and also how to use the Documentation pane to explore an existing GraphQL schema.

js tutorial about Logging Pretty-Printing Tabular Data to the Console

Logging Pretty-Printing Tabular Data to the Console

3:09 js PRO

Learn how to use console.table to render arrays and objects in a tabular format for easy scanning over the values. We'll create some mock data and then render it to the log in various ways to explore console.table's API.

js tutorial about Logging Timing Data to the Console

Logging Timing Data to the Console

1:35 js PRO

Learn to use console.time with console.timeEnd to get accurate timings of operations in javascript. This tool can help with javascript profiling and performance optimization, and knowing how to use the console to do it means you don't have to pollute your codebase with timers and placeholders.

js tutorial about Using console.count to Count Events

Using console.count to Count Events

2:16 js PRO

Learn how to user console.count in order to log out how many times a given thing has happened.

js tutorial about Proper use of console.assert in JavaScript

Proper use of console.assert in JavaScript

3:06 js PRO

Learn about console.assert, which is syntactic sugar for logging an error the console when a given condition is not met. It's useful, but may not do what you expect if you're coming from another language - watch this lesson to learn how to use it, and when not to.

js tutorial about Grouping and Nesting Console Log Output

Grouping and Nesting Console Log Output

3:11 js PRO

Organize your log output by grouping your logs into collapsable hierarchies using console.group().

js tutorial about Advanced Console Log Arguments

Advanced Console Log Arguments

3:52 js PRO

Get more mileage from your console output by going beyond mere string logging - log entire introspectable objects, log multiple items in one call, and apply C-Style string substitution to make the console work for you.

js tutorial about Log Levels and Semantic Methods

Log Levels and Semantic Methods

4:38 js PRO

Go beyond console.log by learning about log levels, filtering log output and structuring your output to be meaningful and concise. The JavaScript console object offers many methods to make your life easier - start learning them here!

js tutorial about Up and Running with Facebook Flow for Typed JavaScript

Up and Running with Facebook Flow for Typed JavaScript

2:11 js PRO

Let's learn how to set up Facebook's Flow inside of a project and write a simple typecheck task that will let us run Flow against any files in our codebase.

js tutorial about Add a browser build to an npm module

Add a browser build to an npm module

6:16 js

Currently, our library is being distributed as a CommonJS module, but we should support the browser as well. In this lesson, we're going to use webpack to create a UMD (Universal Module Definition) build of our module so users can consume it in a browser.

js tutorial about Maps and WeakMaps with ES6

Maps and WeakMaps with ES6

5:14 js

A brief introduction to Maps and WeakMaps with ES6, the usage of and difference of Maps and WeakMaps.

js tutorial about Add Elements onto an Array with Push

Add Elements onto an Array with Push

3:26 js

Array push is used to add elements to the end of an Array. In this lesson we'll see how the push method accepts multiple arguments, can be used to merge two arrays, and how it can be used to represent user input.

js tutorial about Getting Started with Redux Dev Tools

Getting Started with Redux Dev Tools

6:04 js PRO

The Redux DevTools let us wire up our Redux app to a time-traveling debugger. This can help us debug, test, and review the state of our application in a simple history that can be "bookmarked" and scrubbed through. In this lesson, we wire up the Redux DevTools into our app, and walk through the different "monitors" and options available.

More information can be found on the official Redux DevTools GitHub page: https://github.com/gaearon/redux-devtools

js tutorial about Promises with ES6

Promises with ES6

5:51 js

Promises in JavaScript (es6/es2015). Creating and using promises with ECMAscript 2015 in your JavaScript application.

js tutorial about Refactoring tip: no empty lines inside a function

Refactoring tip: no empty lines inside a function

5:00 js PRO

To keep code elegant and readable, this lesson presents a refactoring technique consisting of two rules: (1) Don't have empty lines in a function, (2) keep the function short, with at most 6 or 8 statements. See how this can help keep each function focused on one responsibility.

js tutorial about Getting a Pull Request Merged and Wrapping up

Getting a Pull Request Merged and Wrapping up

1:13 js

Let’s look at the GitHub commits and list of contributors now that our pull request has been merged. And we’ll wrap this series up with a few tips. Feel free to practice on stack-overflow-copy-paste, and see the Pull Request demonstrated in this lesson here.

js tutorial about How to squash multiple git commits

How to squash multiple git commits

2:53 js

Often, project maintainers prefer that a single pull request be represented by a single commit. It makes the git history cleaner and easier to understand. So before your pull request is merged you’ll want to do an interactive git rebase to squash all of your commits and fix your commit message.

js tutorial about How to rebase a git Pull Request branch

How to rebase a git Pull Request branch

3:39 js

Sometimes your Pull Request can fall behind master in a repository and occasionally that will result in merge conflicts which you have to manage yourself. In this lesson we’ll learn how to use git rebase to update our pull request branch to the latest version of master and resolve merge conflicts with git.

js tutorial about How to update a Pull Request on GitHub

How to update a Pull Request on GitHub

2:57 js

Once you’ve made your code updates locally, all you need to do is commit those changes and push that commit to your Pull Request branch. In this lesson we’ll also talk about how to skip git hooks that may be included in the project when you just need help.

js tutorial about How to Collaborate on a Pull Request on GitHub

How to Collaborate on a Pull Request on GitHub

2:21 js

It’s not often that you’ll get a Pull Request on GitHub just right the first time you try. You generally will iterate with the project maintainer on your solution before your PR gets merged. In this lesson, we’ll explore some of the tools that projects use to manage contributions to open source projects on GitHub.

js tutorial about How to create a Pull Request on GitHub

How to create a Pull Request on GitHub

6:19 js

Often when making a change, you want to verify your approach with the maintainer or ask them for help. In this lesson we’ll make a change and commit that WIP change. Then we’ll create a pull request requesting help from the project maintainer.

js tutorial about Setting up the project locally

Setting up the project locally

1:18 js

Before you start making your change, you often need to set up your environment for the changes. This is where the repositories contributing instructions come in really handy. In this lesson we’ll get our environment setup and ready for changes.

js tutorial about How to Fork and Clone a GitHub Repository

How to Fork and Clone a GitHub Repository

2:41 js

You cannot push code to repositories that you don’t own or have sufficient permission to. So instead, you make your own copy of the repository by “forking” it. You are then free to make any changes you wish to your repository.

js tutorial about Identifying How to Contribute to an Open Source Project on GitHub

Identifying How to Contribute to an Open Source Project on GitHub

2:15 js

When you find a bug in an open source project, you know exactly the change you want to make. Other times you just want to find a way to contribute. Either way, you’ll need to know how to the project maintainers want to run the project and work with them to come up with an implementation for the fix/feature. And if you don't even know what project to start contributing to, check out this blogpost for inspiration on how to identify a good project to contribute to.

js tutorial about How to authenticate with GitHub using SSH

How to authenticate with GitHub using SSH

3:34 js

Anytime you push code to GitHub, you must be authenticated so GitHub knows you are authorized to make changes. In this lesson we’ll learn how to authenticate with GitHub using SSH so we don’t have to enter our username and password each time we push code to GitHub.

js tutorial about How to install Git SCM

How to install Git SCM

2:15 js

Let’s install the Git Source Control Management software so we can interact with repositories hosted on GitHub.

js tutorial about Exploring a Repository

Exploring a Repository

4:07 js

The basic unit of GitHub is a repository. This is where you code is stored and GitHub allows you to interact with others and with the code in great ways. In this lesson we talk about Watching, Staring, and Forking a repository. We also cover GitHub issues and pull requests and various other stats about a GitHub repository.

js tutorial about Exploring GitHub

Exploring GitHub

1:47 js

GitHub adds a lot of great features on top of git repository hosting. We’ll take a look at some of these features including:

  • How to creating a repository and organization on GitHub
  • How to explore and find projects on GitHub
  • About GitHub gists
  • Searching pull requests and issues on GitHub
js tutorial about Introduction to GitHub

Introduction to GitHub

0:47 js

In this lesson we’ll talk about what GitHub is and how to sign up for a GitHub account so you can contribute to an open source project on GitHub.

js tutorial about Redirect the browser using JavaScript

Redirect the browser using JavaScript

2:13 js

There are two common ways to redirect the browser in JavaScript. Both use window.location but they differ in how they interact with Session History (and hence, the browser's back button). In this lesson, you'll learn how they're different and how to use each of them.

js tutorial about The JSON.stringify API

The JSON.stringify API

8:26 js

JSON (JavaScript Object Notation) is a standard method to serialize JavaScript objects and is commonly used to transfer data from the server to the browser. The browser has a JSON API that allows you to serialize a JavaScript object or array into a JSON string. This API allows you to customize the serialization very specifically as well.

js tutorial about JavaScript's Call Stack

JavaScript's Call Stack

3:45 js

JavaScript has a concurrency model based on an "event loop". Yet, we know that JavaScript is single-threaded, which means only one task can happen at a time. To understand how JavaScript has a concurrent model yet is single threaded, we'll take a look at how the browser is working to interpret your JavaScript.

Specifically, we'll start by looking at the Stack implemented by browser engines (e.g. V8 or SpiderMonkey). The JavaScript engines use the call stack to keep track of what functions are running -- a function is added to a stack when the engine reaches a function that needs to be executed, and it cleared from the stack when the function returns.

js tutorial about Find patterns at the start and end of lines with line anchors in regular expressions

Find patterns at the start and end of lines with line anchors in regular expressions

3:19 js PRO

We can identify the start and end of a line using Line Anchors. When dealing with multiple line matches we can utilize the multiline regular expression flag.

js tutorial about Use backreferences in regular expressions

Use backreferences in regular expressions

3:31 js PRO

Regular Expression Backreferences provide us a method to match a previously captured pattern a second time.

js tutorial about Use regular expression word boundaries

Use regular expression word boundaries

2:18 js PRO

Regular Expression Word Boundaries allow to perform "whole word only" searches within our source string.

HEY, QUICK QUESTION!
Joel's Head
Why are we asking?