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

ES2018 adds 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”…

ES2015 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 “ES2015 const is not about immutability”…

Valid JavaScript variable names in ES2015

· tagged with JavaScript, Unicode

ES2015 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 ES2015”…

Older notes

Browse the archive.