-
New Sep 9, 2025
Learning web development: Frontend frameworks
In this chapter, we’ll take a look at frontend frameworks – libraries that help with programming web user interfaces (“frontend” means “browser”, “backend” means “server”). We’ll use the frontend fr...
-
New Sep 7, 2025
Learning web development: Installing npm packages and bundling
In this chapter we develop a small web app in the same way that large professional web apps are developed: We use libraries that we install via npm. We write tests for some of the functionality. We c...
-
New Sep 2, 2025
Learning web development: Asynchronous JavaScript – Promises and async functions
In this chapter, we learn how to handle tasks that take a long time to complete – think downloading a file. The mechanisms for doing that, Promises and async functions are an important foundation...
-
New Aug 31, 2025
Learning web development: JSON and processing files in Node.js
In this chapter, we explore the popular data format JSON. And we implement shell commands via Node.js that read and write files....
-
New Aug 30, 2025
Learning web development: JavaScript Maps
In this chapter, we’ll explore the data structure Map (a class) which lets us translate (“map”) from an input value to an output value. We’ll use a Map to display text upside-down in a terminal!...
-
New Aug 29, 2025
Learning web development: JavaScript exceptions
In this chapter, we look at exceptions in JavaScript. They are a way of handling errors. We’ll need them for the next chapter....
-
New Aug 29, 2025
JavaScript’s trademark problem
In this blog post, we discuss Oracle’s trademark of the word “JavaScript”: What are the problems caused by that trademark? How can we fix those problems?...
-
New Aug 28, 2025
Learning web development: Plain objects in JavaScript
In this chapter, we learn how to create plain objects with properties. We use them to create a simple flash card app....
-
New Aug 27, 2025
Learning web development: Modules and testing in JavaScript
So far, all of our JavaScript code resided in a single file – be it an .html file or a .js file. In this chapter, we learn how to split it up into multiple files. And how to automatically test if the...
-
New Aug 26, 2025
Learning web development: Using web servers and npm
In this chapter, we run a web server on our own computer and use it to serve a web ap...
-
New Aug 25, 2025
Learning web development: Shells and Node.js
In this chapter we explore two topics: A shell is like browser console, but for the operating system instead of for JavaScript. It helps us with programming by running the tools (programs) we nee...
-
New Aug 23, 2025
Learning web development: Loops in JavaScript
In this chapter, we learn how to do things repeatedly in Ja...
-
New Aug 20, 2025
Learning web development: Booleans, comparisons and if statements in JavaScript
In this chapter, we learn about tools for only running a piece of code if a condition is met: truth values (booleans), comparisons and if statements....
-
New Aug 18, 2025
Learning web development: Arrays in JavaScript
In this chapter we look at one way of storing more than one value in a variable: ar...
-
New Aug 17, 2025
Learning web development: Strings and methods in JavaScript
In the last chapter, we worked with numbers. In this chapter, we’ll work with text and write our first ap...
-
New Aug 15, 2025
Learning web development: Numbers, variables, functions in JavaScript
In this chapter, we take the very first steps with JavaScript and learn about numbers, variables and fu...
-
New Aug 14, 2025
New series of blog posts: learning web development
This blog post provides an overview of my new series of blog posts called “Learning web de...
-
New Jun 26, 2025
Ecma International approves ECMAScript 2025: What’s new?
On 25 June 2025, the 129th Ecma General Assembly approved the ECMAScript 2025 language specification (press...
-
New Jun 24, 2025
Tips for making regular expressions easier to use in JavaScript
In this blog post, we explore ways in which we can make regular expressions easier to us...
-
New Jun 21, 2025
TypeScript: checking Map keys and Array indices
JavaScript has two common patterns: Maps: We check the existence of a key via .has() before retrieving the associated value via .get(). Arrays: We check the length of an Array before performing an...
-
New Jun 18, 2025
How TypeScript solved its global Iterator name clash
In ECMAScript 2025, JavaScript gets a class Iterator with iterator helper methods. This class conflicts with TypeScript’s existing types for iterators. In this blog post, we explore why that is and...
-
May 15, 2025
Styling console text in Node.js
In this blog post, we explore how we can style text that we log to the console in Node.js. Some of the examples use a Unix shell but most of the code should also work on Windows....