This Week in JavaScript - 4 May 2015

Hello and welcome to This Week in JavaScript—a lovingly curated collection of links relating to what’s new and exciting in the world of JS. The complete list is tagged jsweekly. (Don’t forget to check out our weekly .Net roundup too!)


More ES6 goodies this week, as the next version of JavaScript draws nearer and nearer. First up is a look at how ES6 Generators work under the hood, and how we can use them to solve old problems in new ways. ES6 Generators also feature in this post: Better Asynchronous JavaScript, which examines avoiding callback hell. Mozilla have launched a new series on ES6 which they started by looking at iterators and the for-of loop. Here’s a couple of changes to strings in JavaScript, which will be available when ES6 comes around, as well as a more through look at template strings in ES6 in general. Wanna start writing ES6 modules today? Here’s how. . And finally a word on ES6 browser support: Opera 29 was released (which includes support for ES6 Classes and ES6 object literal notation) and Webkit just oficially surpassed Chrome’s ES6 support.


There’s a lot happening around AngularJS right now. Over on SitePoint we took a look at the shape of things to come, namely the futuristic router in Angular 2.0, whilst on Tuts+ they finished up a huge six part series on creating a web app from scratch Using AngularJS and Firebase. Speaking of Angular 2.0, it recently moved from alpha to developer preview, whilst in the 1.x branch breaking changes were announced as the Angular team completely refactored the animation system. Resource wise, angular2-education is a curated list of material to get started on Angular 2, whilst Angular Paging is a directive to aid in paging large datasets. Here we have an in-depth guide to different types of reusable models for your Angular JS application and finally, this is how to create a multilingual AngularJS app.


Here’s an interesting opinion piece on why one dev decided to bet on Ember.js, despite the fact that Angular had apparently “won” and React was taking the scene by storm. This is how Ember components can communicate with each otherand this is how to use recursive Ember components. Here’s a screencast introducing you to Ember.js and all of the surrounding technologies, and here’s another one on creating a CRUD app with Ember.js. Finally, did you know that IE8 support will be removed from Ember 2.0. No? Well, it will : )

Code Quality and Debugging

This week, Microsoft announced vorlon.js a remote JavaScript debugging tool. They also published an article of SitePoint regarding how to enhance your JavaScript debugging with cross-browser source maps. In Node.js debugging starts with better logging! Debugging is well and good, but why not avoid it in the first place by using a static code analyser. Thanks to BEM’s naming conventions, what used to be a big ball of HTML became a suite of nested components. Here’s how BEM can help us write better JavaScript. Here’s a short piece by David Walsh on preventing side effects in JavaScript. Have you heard of Addy Osmani’s idea that components should be Focused, Independent, Reusable, Small & Testable (FIRST). Check it out. It’ll help you write better code. Finally, here’s a video on effective dependency management in JavaScript.

Pen of the Week

Click on the image to watch it shatter. Very cool!

I hope you’ve enjoyed working through these links. Before I leave you, might I remind you to check out SitePoint’s official JavaScript newsletter which you can subscribe to here:

Please PM us if you have anything of interest for the next issue or if there is anything you would like to see featured. Paul and Pullo.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.