Stop Using Objects as Hash Maps in JavaScript

Photo by Steve Johnson on Unsplash A map is one of the most frequently used data structures in daily programming. It keeps key-value pairs that can easily be accessed by their keys. In JavaScript, it is quite convenient to just use a plain object for that purpose. But there is a built-in data structure in …

ESNext: Logical Assignment Operators (||=, ??=, &&=)

Update 2020.07.21: This proposal made it into Stage-4 and will officially be part of ES2021 🥳 A new ECMAScript Proposal that I’m looking forward to is Logical Assignment Operators. In short it combines Logical Operators (||, &&, and ??) with Assignment Expressions (=). // "Or Or Equals" (or, the Mallet operator) a ||= b; // …

1loc – Single Line JavaScript Snippets

1loc is a site packed with small JavaScript snippets that take up 1 line of code. For example: Compare Two Dates const compare = (a, b) => a.getTime() > b.getTime(); Generate Number in Range const random = (min, max) => Math.floor(Math.random() * (max – min + 1)) + min; Get all siblings of an element …

Tackling TypeScript: Upgrading from JavaScript

New book on TypeScript by Dr. Axel Rauschmayer, who also wrote Exploring ES6 (and a few other books on JavaScript). This book consists of two parts: Part 1 is a quick start for TypeScript that teaches you the essentials quickly. Part 2 digs deeper into the language and covers many important topics in detail. This …

JavaScript’s Syntactic Quirks

Jason Orendorff looked into the JS spec, in detail … JavaScript is rather hard to parse. Here is an in-depth accounting of its syntactic quirks, with an eye toward actually implementing a parser from scratch. One quirk most JS devs have will have certainly heard of is Automatic Semicolon Insertion (ASI). JavaScript’s Syntactic Quirks →

The Quest for the Perfect Dark Mode Toggle, using Vanilla JavaScript

In The Quest for the Perfect Dark Mode, Joshua W Comeau extensively explains how he has implemented the Dark Mode Toggle on his Gatsby-powered website. It follows the system’s light/dark mode preference, but also allows for an override which he persists in localStorage. The flow to decide if Dark Mode should be used or not …

The Cost of Javascript Frameworks

Tim Kaldec has measured the JavaScript bytes and the JavaScript CPU time for a bunch of sites. Right now, if you’re using a framework to build your site, you’re making a trade-off in terms of initial performance—even in the best of scenarios. Some trade-off may be acceptable in the right situations, but it’s important that …