2019-01

ES2019: Symbol.prototype.description

[2019-01-29] dev, javascript, es2019

The proposal “Symbol.prototype.description” (by Michael Ficarra) is at stage 4 and therefore part of ECMAScript 2019. This blog post explains how it works.

ES2019: Well-formed JSON.stringify

[2019-01-29] dev, javascript, es2019, json

The proposal “Well-formed JSON.stringify” (by Richard Gibson) is at stage 4 and therefore part of ECMAScript 2019. This blog post explains how it works.

ES2019: Object.fromEntries()

[2019-01-28] dev, javascript, es2019

The proposal “Object.fromEntries” (by Darien Maillet Valentine, Jordan Harband and Kevin Gibbons) is at stage 4 and therefore part of ECMAScript 2019. This blog post explains how it works.

Future JavaScript: what is still missing?

[2019-01-27] dev, javascript, esnext

In recent years, JavaScript has grown considerably in size. This blog post explores what’s still missing.

2018-12

Creating and filling Arrays of arbitrary lengths in JavaScript

[2018-12-23] dev, javascript

The best way of creating an Array, is via a literal:

const arr = [0,0,0];

Alas, that isn’t always an option, e.g. when creating large Arrays. This blog post examines what to do in those cases.

ECMAScript modules in Node.js: the new plan

[2018-12-20] dev, javascript, nodejs, jsmodules

Status of ECMAScript module (ESM) support in Node.js:

  • Experimental support for ESM was added in Node.js 8.5.0 (2017-09-12).
  • Afterwards, the Node.js Foundation Technical Steering Committee formed the Modules Team to help design missing pieces and to guide the implementation towards its (non-experimental) release. The Modules Team is comprised of people from several different web development areas (frontend, backend, JS engines, etc.).

In October, the Modules Team published the document “Plan for New Modules Implementation”. This blog post explains what it contains.

2018-08

Behind the scenes of my latest book on JavaScript

[2018-08-22] book, javascript

This blog post takes you behind the scenes of my latest book, “JavaScript for impatient programmers” (which I’ll occasionally abbreviate as “Impatient JS”). It describes:

  • How I chose what to write about.
  • My techniques for explaining topics.
  • Tools I used for creating ebooks and other artifacts.
  • How I unit-tested the code shown in the book and in its quizzes.

Running code snippets via Node.js and nodemon

[2018-08-15] dev, javascript, nodejs, nodemon

This blog post describes a trick for running a snippet of JavaScript code with Node.js while working on it.

Setting up constants via proxies

[2018-08-11] dev, javascript, js proxies

In this blog post, a describe a little hack for quickly setting up constants (think enum values, but not wrapped inside a namespace). It is more an educational puzzle than something you should actually use in your code.

2018-05

Working with stdout and stdin of a child process in Node.js

[2018-05-05] dev, javascript, nodejs, async

In this blog post, we run shell commands as child processes in Node.js. We then use async language features to read the stdouts of those processes and write to their stdins.