JSFoo 2019

JSFoo 2019

On component architecture, front-end engineering and Developer Experience (DX)



Himanshu Kapoor


ES4 and ActionScript: A Forgotten Story

Submitted Aug 12, 2019

This is a story of divergence. ECMAScript 4 was supposed to be the Javascript standard, but it was abandoned. Adobe, with its ActionScript 3.0, based strongly on the ES4 proposal, was its strong perpetuator, but it didn’t fare so well. Fast forward to today, we have Typescript and ES6, the combined features of which are very similar to what ES4 promised to be. So, this is also a story of convergence. And everything that happened in between.


Can you imagine what the JS world today would have been had the ES4 proposal become a reality? As someone who made games and websites in Flash and whose first programming language was ActionScript, the only working implementation of the ES4 standard today, I can offer first hand experience on that. And while Flash might be dead today, a lot of the things that ActionScript offered are slowly making its way in the present in the form of ES6 and TypeScript.

This talk will be take you on a trip down the memory lane, looking at the history and features of the ES4 proposal, including E4X (although it is not closely related to ES4, but has a modern day equivalent in the form of JSX), Adobe’s bet on it with ActionScript, going as far as open-sourcing their ActionScript engine Tamarin, and how those features are making a comeback today in ES6, some even better than the original. And also how Microsoft went from strongly opposing the ES4 proposal to developing their own transpiler today: TypeScript, that implements all those features and goes an extra mile. All of this from the perspective of a developer who transitioned from ActionScript to JavaScript and now to TypeScript. I loved ActionScript as a language, and didn’t want to program in anything else, and today TypeScript and ES6 give me a similar feeling.

Speaker bio

Himanshu is currently a Senior Frontend Engineer at GitLab Inc. He has been writing JavaScript since it was popularly known as DHTML and had an alternative language VBScript to code in. He has written server-side JavaScript with classic ASP, Windows Scripting Host (WSH), HTML Applications (HTA), and more recently in the browsers for large-scale applications and on the backend using Node.js. In his spare time, he likes to create video games. He created Sheeping Around - a multiplayer card game about grazing and stealing sheep. He also likes to do illustration and travel to places.


{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hybrid access (members only)

Hosted by

JSFoo is a forum for discussing UI engineering; fullstack development; web applications engineering, performance, security and design; accessibility; and latest developments in #JavaScript. Follow JSFoo on Twitter more