Mathias Bynens

About me

Hi there! I’m Mathias. I work on the V8 JavaScript engine at Google. HTML, CSS, JavaScript, Unicode, performance, and security get me excited. You can follow me on Twitter and GitHub.

Latest notes

Asynchronous stack traces: why await beats .then()

· tagged with JavaScript, performance

Compared to using promises directly, not only can async and await make code more readable for developers — they enable some interesting optimizations in JavaScript engines, too! This write-up is about one such optimization involving stack traces for asynchronous code.

Continue reading “Asynchronous stack traces: why await beats .then()”…

ECMAScript regular expressions are getting better!

· tagged with JavaScript, Unicode

This article highlights what’s happening in the world of JavaScript regular expressions right now. Spoiler: it’s quite a lot — there are more RegExp-related proposals currently advancing through the TC39 standardization process than there have been updates to RegExp in the history of ECMAScript!

Continue reading “ECMAScript regular expressions are getting better!”…

Unicode property escapes in JavaScript regular expressions

· tagged with JavaScript, Unicode

There is a proposal to add support for Unicode property escapes of the form \p{…} and \P{…} to JavaScript regular expressions. This article explains what Unicode property escapes are, how they work, and why they’re useful.

Continue reading “Unicode property escapes in JavaScript regular expressions”…

ES6 const is not about immutability

· tagged with JavaScript

This seems to be a very common misconception that just won’t die. I keep running into it in blog posts, Twitter discussions, and even books.

Continue reading “ES6 const is not about immutability”…

Valid JavaScript variable names in ECMAScript 6

· tagged with JavaScript, Unicode

ES6 updates the grammar for identifiers. This affects a number of things, but most importantly, identifiers can be used as variable names, and identifier names are valid unquoted property names. This post describes the observable changes compared to the old ES5 behavior.

Continue reading “Valid JavaScript variable names in ECMAScript 6”…

Older notes

Browse the archive.