2017-12

A different way of understanding this in JavaScript

[2017-12-06] dev, javascript

In this blog post, I take a different approach to explaining this in JavaScript: I pretend that arrow functions are the real functions and ordinary functions a special construct for methods. I think it makes this easier to understand – give it a try.

for-await-of and synchronous iterables

[2017-12-03] dev, javascript, esnext, es proposal

This blog post describes how for-await-of handles synchronous iterables. for-await-of is a core construct of asynchronous iteration. You can read up on it in the blog post “ES proposal: asynchronous iteration”.

What is planned for ReasonML?

[2017-12-01] dev, reasonml

This blog post takes a brief look of a few key pieces of ReasonML that are still being worked on:

2017-11

Getting started with ReasonML

[2017-11-30] dev, reasonml

In this blog post, I give tips for getting started with the programming language ReasonML.

What is ReasonML?

[2017-11-29] dev, reasonml

This blog post gives a brief high-level explanation of Facebook’s new programming language, ReasonML.

Currying is not idiomatic in JavaScript

[2017-11-10] dev, javascript

In this blog post I explain why, in my opinion, currying is in conflict with some of JavaScript’s foundations.

ES proposal: import.meta – module metadata

[2017-11-05] dev, javascript, esnext, es proposal, jsmodules

The proposal “import.meta” by Domenic Denicola is currently at stage 3. This blog post explains how it works.

Tracing method calls via Proxies

[2017-11-01] dev, javascript, js proxies

In this blog post, I explain how you can trace method calls via ECMAScript Proxies. The techniques I show are relevant whenever you want to intercept and forward method calls via Proxies.

2017-09

Using ES modules natively in Node.js

[2017-09-12] dev, javascript, esnext, jsmodules, nodejs

Starting with version 8.5.0, Node.js supports ES modules natively, behind a command line option. Most of the credit for this new functionality goes to Bradley Farias.

This blog post explains the details.

2017-08

Easing the pain of building in JavaScript

[2017-08-26] dev, javascript, esnext, jstools

In principle, JavaScript is a very dynamic and interactive programming language. However, that has changed significantly in recent years. Now, modern web development requires extensive build and compilation steps. That is unfortunate for two reasons. First, it makes development less pleasant. Second, it makes web development harder to learn. This blog post covers ideas and tools for easing some of the pain of building.