This Week in JavaScript - 14 November 2016

Hello and welcome to ‘This Week in JavaScript’ — another curated collection of links relating to what’s new and exciting in the world of JavaScript. The complete list is tagged jsweekly. (Don’t forget to check out our weekly .NET and front end roundups too!)

And now for this week’s finds …

Getting started

  • Yoda Conditions: To Yoda or Not to Yoda - As a programmer, typos are part of your daily workflow. Problems arise though when the typo is proper syntax and neither the IDE nor interpreter alert you to it. Unexpected behavior will happen if it is not fixed. For one specific typo, the Yoda conditions programming style seeks to remedy this problem.
  • What is the difference between == and === in JavaScript? - Learn the difference between == and ===, and understand which you should be using in your code.
  • The Ultimate JavaScript Cheat Sheet - This is a quick overview of the JavaScript language. Reading this from the beginning to end is good, but going to a specific section is good as well.

Learning more

  • Logging Errors in Client-Side Applications - In this article I’ll look at some of the ways in which you can implement logging in a client-side application; particularly in a JavaScript-heavy, single-page application (SPA).
  • How to make your code backwards (and compatible) - In Lewis Carroll’s Through the Looking Glass, Alice finds a mysterious book that’s “all in some language [she doesn’t] know”. Tangram.min.js looked somewhat similar between versions 0.10.0 and 0.10.5. A large part of our code was backwards. Like the poem of Jabberwocky, you need a mirror to read it.


  • Animating the DOM with Anime.js - If you’re looking for a fast and lightweight animation library, Anime.js by Julian Garnier is an option you should consider.
  • 12 Amazing jQuery Tables - In this article, we’re going to run through a selection of jQuery-powered plugins to create, extend or enhance your tables. These plugins range in their scope from light restyling to fully feature-packed solutions
  • welcome.js - A friendly script.
  • Cubes Advent Calendar - A 3D cubes Advent calendar with fun hover effects and background color animations. Clicking the boxes opens another content level with different element animations.
  • turbo.js - The easy way to supercharge
    your number-crunching.


  • Pitfall: not all objects can be proxied transparently - An ES6 proxy lets you intercept and customize operations performed on an object, its so-called target. Interception and customization is handled via a handler object (think even listener). Operations are intercepted by handler methods. If a handler method is missing, the corresponding operation is simply forwarded to the target. Therefore, if the handler is the empty object, the proxy should transparently wrap the target. Alas, that doesn’t always work, as this blog post explains.
  • Six Tiny But Awesome ES6 Features - The six features listed here are just a drop in the bucket of what ES6 provides developers but they’re features we’ll use frequently without thinking anything of it. It’s these tiny additions that oftentimes don’t get attention but become core to our coding.


  • 10 Tips and Tricks That Will Make You an npm Ninja - A few simple npm commands is all it takes to initialize a folder (npm init), download packages (npm install) and create tests (npm test) and custom scripts (npm run) for use in your project. Few delve further but there are several npm tips and tricks which can revolutionize your daily development tasks.
  • Developing Apps with Angular 2 MockBackend - The focus of this article is to present a way that front-end teams can become independent of the back-end and at the same time provide a useful interface which reduces the risk of structural changes.
  • Node.js at Scale - Understanding the Node.js Event Loop - This article helps you to understand how the Node.js event loop works, and how you can leverage it to build fast applications.
  • Building a Vue v2 JS App Using Vue-Router - This post will walk you through creating a client-side Vue JS app using Vue Router. Vue Router is a plugin for Vue which allows you to more easily add URLs and other routes to your Vue JS app.
  • Angular 3 is hot on the heels of Angular 2 - Angular 3 will have better tooling and will generate less code; Google also is promising a new major version twice a year.

##Everything Else

  • Web Audio API: Add Bandwidth-Friendly Sound to Your Web Page - The Web Audio API allows developers to leverage powerful audio processing techniques in the browser using JavaScript, without the need for plugins.
  • Tools for Developing Accessible Websites - Building websites that are accessible can be challenging for developers that have never had to use any assistive technologies. Unlike visual issues such as layout which can be easily seen, accessibility issues can very easily go unnoticed if we don’t have the correct tools to test for them.
  • Making Time for Side Projects: A Daily Habit - With so many other commitments to deal with, it can be hard to find time to work on side projects. In this article, Brian Gilham discusses the need for carving out a chunk of time to get work done – each and every day.

For more links like this and to keep up-to-date with the latest goings on in JS land, you can follow SitePoint’s JavaScript channel on Twitter.
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 Chris of Arabia.


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