2017-03

ES2020: BigInt – arbitrary precision integers

[2017-03-19] dev, javascript, es2020, numbers

Warning: This blog post is slightly outdated. Tread carefully.


The ECMAScript proposal “BigInt: Arbitrary precision integers in JavaScript” by Daniel Ehrenberg is currently at stage 3. This blog post gives an overview.

Coming up: a redesign of 2ality

[2017-03-16] 2ality

I’ll soon migrate 2ality to a different hosting solution. This blog post tells you what you need to know.

Exercise: text as Unicode clock faces

[2017-03-15] dev, javascript, unicode

In this blog post, we explore how arbitrary ASCII text can be encoded as Unicode clock faces:

> clocksToPlain('🕔🕘🕖🕕🕖🕜🕖🕜🕖🕟🕒🕑')
'Hello!'

I’m explaining ideas by Maggie Pint and @FakeUnicode.

Communicating Sequential Processes: an alternative to async generators

[2017-03-13] dev, javascript, esnext, async

In this blog post I present Communicating Sequential Processes (CSP) and how they can be used as an alternative to async generators. In the process, we will also take a look at the ECMAScript proposal that async generators are a part of: “asynchronous iteration

2017-02

ECMAScript 2018: the final feature set

[2017-02-28] dev, javascript, esnext, es2018, es proposal

The feature set of ECMAScript 2018 was finalized during the latest TC39 meeting (23-25 January 2018). This blog post describes it.

babel-preset-env: a preset that configures Babel for you

[2017-02-22] esnext, dev, javascript, babel

babel-preset-env is a new preset that lets you specify an environment and automatically enables the necessary plugins.

2017-01

ES proposal: Shared memory and atomics

[2017-01-26] dev, javascript, esnext, es proposal, concurrency

The ECMAScript proposal “Shared memory and atomics” by Lars T. Hansen has reached stage 4 this week and will be part of ECMAScript 2017. It introduces a new constructor SharedArrayBuffer and a namespace object Atomics with helper functions. This blog post explains the details.

Making transpiled ES modules more spec-compliant

[2017-01-20] dev, javascript, esnext, babel, jsmodules

A proposed “spec mode” for Babel makes transpiled ES modules more spec-compliant. That’s a crucial step in preparing for native ES modules. You’ll also learn how ES modules and CommonJS modules will interoperate on Node.js and how far along ES module support is on browsers and Node.js.

Communicating between Web Workers via MessageChannel

[2017-01-15] dev, javascript, clientjs, concurrency

Occasionally, you want Web Workers to communicate with each other. Doing so is not obvious as most Web Worker examples are about communicating between the main thread and a Web Worker. There, one uses postMessage() to send messages directly to the Worker. Alas, that doesn’t work for communicating between two Workers, because you can’t pass references to Workers around.

ES2020: import() – dynamically importing ES modules

[2017-01-09] dev, javascript, es2020, jsmodules

The ECMAScript proposal “import()” by Domenic Denicola is at stage 4 and part of ECMAScript 2020. It enables dynamic loading of ECMAScript modules and is explained in this blog post.