2019-07

ECMAScript proposal: public class fields

[2019-07-03] dev, javascript, es proposal, js classes

In this post, we look at public fields, which create instance properties and static properties.

2019-05

Unpacking hoisting

[2019-05-30] dev, javascript

Quoting a recent tweet by ES6 spec author Allen Wirfs-Brock:

Hoisting is old and confused terminology. Even prior to ES6: did it mean “moved to the top of the current scope” or did it mean “move from a nested block to the closest enclosing function/script scope”? Or both?

This blog post proposes a different approach to describing declarations (inspired by a suggestion by Allen).

2019-04

The new ECMAScript module support in Node.js 12

[2019-04-23] dev, javascript, nodejs, jsmodules

Node.js 12 (which was released on 2019-04-23) brings improved support for ECMAScript modules. It implements phase 2 of the plan that was released late last year. For now, this support is available behind the usual flag --experimental-modules.

Read on to find out how exactly this new support for ECMAScript modules works.

Brief spoiler: The filename extension .mjs will be more convenient, but .js can also be enabled for ES modules.

2019-01

ES2019: JSON superset

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

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

ES2019: String.prototype.trimStart / String.prototype.trimEnd

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

The proposal “String.prototype.trimStart / String.prototype.trimEnd” (by Sebastian Markbåge) is at stage 4 and therefore part of ECMAScript 2019. This blog post explains how it works.

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.