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.
This blog post gives tips for typing import statements more quickly, including a helpful text snippet for Visual Studio Code.
typeof
and instanceof
: simplifying dynamic type checksThis blog post describes a technique for making instanceof
applicable to more values (on the right-hand side). Specifically, for primitive values.
The proposal “Optional catch binding” by Michael Ficarra is at stage 4 and therefore part of ECMAScript 2019. This blog post explains how it works.
Promise.try()
The proposal “Promise.try()
” by Jordan Harband is currently at stage 1. This blog post explains how it works.
In Promise-based code, there are usually many callbacks, each one having a separate scope for variables. What if you want to share data between those callbacks? This blog post describes techniques for doing so.
The ECMAScript proposal “Class Fields” by Daniel Ehrenberg and Jeff Morrison is currently at stage 3. This blog post explains how it works.
Promise.prototype.finally()
The proposal “Promise.prototype.finally
” by Jordan Harband is at stage 4. This blog post explains it.
This blog post describes a minimal setup for producing npm packages via Babel. You can see that setup in action in the GitHub repository for re-template-tag
.
re-template-tag
I’ve written the small library re-template-tag
that provides a template tag function for composing regular expressions. This blog post explains how it works.