JSFoo 2014

JavaScript as the centerpiece of a complex web stack

Manish Goregaokar

@manishearth

JS.next: What EcmaScript 6 means for you

Submitted Aug 6, 2014

The objective of this talk is to give an overview of important EcmaScript 6 (Harmony) features, with focus on how they can be used to improve your code.

Harmony is a set of proposed new features which have been partially implemented in many places. They improve the ergonomics of JavaScript greatly, and make it a cleaner, more powerful language. I hope the attendees of this talk will walk away with a more complete and practical toolbox for writing JavaScript for the near future.

Additionally, it would be a great benefit for the Web if ES6 was quickly adopted and used!

Outline

This session will start off with the simple stuff (for..of loops, let bindings, destructuring, const, etc).

It will then go on to what ES6 brings to functions, and how to use them (Splats/varargs, Optional arguments, the problems with this bindings and fat arrows)

From here, we will go on to the improvements it brings to Arrays and other collections (Comprehension, Spread, Map/Set/WeakMap/etc, New API methods)

Finally, we will do a deep study of Promises and generators. Generators are a new capability that have a variety of uses, a major one of which is to help unravel callback chains into procedural-esque code.

Requirements

Intermediate knowledge of JavaScript. Understanding of Promises preferred, but not necessary.

Speaker bio

I’ve been programming JavaScript for a while now, ever since I was writing userscripts on Wikipedia as a kid. These days I contribute to the Firefox browser, which itself has a lot of code written in the latest (ES6) JavaScript. I’m also a committer to the Servo browser engine, and have been working with DOM internals for a while.

I love JavaScript, and am enjoying its current expansion into various fields.

I also code in Python and Rust, and PHP if I have to.

Comments

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

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

{{ errorMsg }}

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

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