Strict Mode Screencasts

Exploring JavaScript language features, libraries, frameworks, and sometimes even entirely new programming languages for the Web.

Subscribe now for $9 / mo

Short tutorial videos exploring and explaining the modern JavaScript.
All videos available for streaming and download
New videos come every week! Learning never stops!

Latest Videos

022. End-to-end testing with Cypress
Cypress is an excellent testing library that lets you write specs, and it is also a test runner that opens a browser and walk through the scenario filling the inputs, clicking buttons, and validating the expected results. The lovely GUI interface in which you can track what happens and even move around and revert to an older state to debug a problem is what makes it stand out from other similar tools — highly recommended. 👍
021. Built With JS - Yet Another REST Client
Built With JS is a new mini-series in which we'll be building some projects from stuff to finish using JavaScript. In this one, we are building an open source library — the REST client on top of fetch API. Covered in this video: fetch API, TDD, Jest, Babel. Source Code:
020. Destructoring
Very quick intro into one of the coolest features of JavaScript. We'll learn how to use destructoring with arrays, objects and strings. Plus how to make any object "destructible" (spoiler: just make it iterable). Covered in this video: JavaScript circa 2019, cool tricks you can do with destructoring
019. Building a REST API with Koa II
In the second part we are connecting a database (Knex.js + PostgreSQL) and modifying the router a little bit more. We create the migrations, the seed and run some very simple queries in order to use them in our API. -> Source Code Of The Project
018. Building a REST API with Koa I
In the first part we are going to get a closer look at Koa which is server-side framework for Node with a minimal API with support for async/await syntax. It is based on using the middle-wares which are just simple functions that can be stacked together in a chain. Every middleware does its job and then passes the state to the next one.
017. OOP In JavaScript: The Prototype Chain
The object model implemented in JavaScript is significantly different from other mainstream object-oriented languages like Java or C++. Even thought the syntax is very similar, especially with the class declaration introduced in 2015 with ECMAScript 6, the structural difference is huge. In this video, we'll see how the prototype chain (which is a very basis for OOP in JavaScript) works.
016. Optimizing Performance With React Hooks
React Hooks introduced quite a few misunderstandings about the performance of your application. In this video we'll quickly walk through a typical optimisation process with the help of React.memo and useCallback hook.
015. ReasonML pt.2: Pipes, more pattern matching, and param types
In this part we'll have a closer look at the coolest features of ReasonML: the pipe operator, pattern matching and the param types.
014. ReasonML pt.1: Syntax, types, and pattern matching
The first part on ReasonML, a powerful functional language from Facebook with strict type system. Here we talk about the syntax, basic types and some neat features like the pattern matching
013. Ramda.js: Functional Done Right - 14:46 [tutorial]
012. A Quick Introduction To Vue.js - 14:16 [tutorial]
011. Some JavaScript Hacks Explained — 16:56 [react]
010. Trello-like Task Manager With react-beautiful-dnd — 35:55 [react, tutorial]
009. Building A Chrome Extension With React And Parcel — 25:03 [react, tutorial]
008. A Quick Introduction To TypeScript — 21:11 [typescript]
007. JsEx Solution pt. 2 — 12:50 [exercises]
006. JsEx Solution pt. 1 — 14:14 [exercises]
005. Lodash pt. 2: Curry, memoize, debounce, and at — 13:28 [libraries]
004. Lodash pt. 1: Working with arrays — 10:54 [libraries]
003. Upgrading To React Hooks — 09:24 [react]
002. The Spread Operator — 10:10 [es-next]
001. The Magnificent Reduce — 08:26 [functional]