---
title: "This week's JavaScript news, issue 287"
publication: "JavaScript Weekly"
issue: 287
published_at: "2016-06-09"
canonical_url: "https://javascriptweekly.com/issues/287"
---

This week's JavaScript news, issue 287

Wrong ways to use Promises, replacing Lodash with ES6, a free Redux course, and more. — [Read this e-mail on the Web](http://javascriptweekly.com/issues/287)

JavaScript WeeklyIssue 287 — June 9, 2016[Promises: All The Wrong Ways](https://blog.getify.com/promises-wrong-ways/)Kyle Simpson examines a variety of ways in which JavaScript promises get abused: _“Promises are powerful and transformative, but I urge you to take a step back and re-examine how you’re relying on them.”_ Kyle Simpson 
[10 Lodash Features You Can Replace with ES6](https://www.sitepoint.com/lodash-features-replace-es6/)Lodash is the most depended on npm package, but if you’re using ES6, you might not actually need it. Dan Prince 
[Building React Applications with Idiomatic Redux](https://egghead.io/series/building-react-applications-with-idiomatic-redux)Free 27 part video course from Redux creator, Dan Abramov. Egghead 
[![Cloudinary\](https://copm.s3.amazonaws.com/f3ee57f6.png)](http://cloudinary.com/blog/automatically_art_directed_responsive_images?utm_source=Newsletter&utm_medium=Paid_&utm_campaign=Java_Script_weekly_6-9-2016)[Automatically Art-Directed Responsive Images](http://cloudinary.com/blog/automatically_art_directed_responsive_images?utm_source=Newsletter&utm_medium=Paid_&utm_campaign=Java_Script_weekly_6-9-2016)With Cloudinary, you can easily adapt any image characteristic at breakpoints to provide an optimal viewing experience on any device. CloudinarySponsor
[ES Modules and Node.js: Hard Choices](https://medium.com/@nodesource/es-modules-and-node-js-hard-choices-2b6995e4d491)Node 6 supports 93% of ES6 but not ES Modules. Some hard decisions are needed to make it work. (Like this? [Today’s Node Weekly](http://nodeweekly.com/issues/141) has more.) Rod Vagg 
[Making Your JavaScript Pure](http://alistapart.com/article/making-your-javascript-pure)Apply the principles of purely functional languages to your JavaScript to gain more reliable, self-documenting codebases. Jack Franklin 
[nbind: A Way to Combine C++ and JavaScript](https://github.com/charto/nbind#readme)A set of headers that make a C++11 library accessible from JavaScript by generating the necessary bindings. charto 
[What's The Smallest Subset of Characters To Run Any JS?](http://slides.com/sylvainpv/xchars-js/)A mostly pointless, but geeky and fun, look at rendering characters via JavaScript using just a few underlying symbols. Sylvain Pollet-Villard 


Jobs

- [Front-End Engineer at SalesforceIQ](http://salesforce.careermount.com/career/47374/Salesforceiq-Front-End-Sr-Software-Engineer-Us-California-Palo-Alto?utm_source=javascriptweekly&utm_medium=email)Get the best of both worlds, the culture & speed of a startup with the backing of Salesforce. We push code daily, prize unique ideas, & enjoy the moments along the way. JavaScript, HTML, CSS, Angular. SalesforceIQ
- [JavaScript Developer at Sky Betting and Gaming](https://sbgpeople.wd3.myworkdayjobs.com/en-US/jobs/job/Leeds/JavaScript-Software-Engineer---Leeds---Sheffield-locations_R000338-2?utm_source=javascriptweekly&utm_medium=email)We’re looking for JS Developers with experience and a sense of what works. We create Rich Internet Applications in React with PHP/Node backends. There’s plenty more great tech to play with — come and find out more. Sky Betting and Gaming
- [The Easiest Way to Find a Job](https://hired.com/?utm_source=newsletters&utm_medium=petercooperpress&utm_term=cat-tech-javascript&utm_content=easiest&utm_campaign=q2-16-jsweekly&utm_location=us)Hired lets you sit back while job offers come to you. When you complete your profile, instantly apply to 3,500+ companies on the platform who will contact you with job offers, including salary and equity up-front. [Try it today.](https://hired.com/?utm_source=newsletters&utm_medium=petercooperpress&utm_term=cat-tech-javascript&utm_content=easiest&utm_campaign=q2-16-jsweekly&utm_location=us) Hired.com

In Brief

[Firefox to Help Developers with JavaScript Errors](https://hacks.mozilla.org/2016/06/helping-web-developers-with-javascript-errors/) news 
Error messages in Firefox’s dev console will provide links to associated docs.
Mozilla Hacks

[JS++: A New Compiler That Tackles JavaScript's Weak Typing](http://www.infoworld.com/article/3079092/javascript/new-compiler-tackles-javascripts-weak-typing.html) news
Paul Krill

[Get Live 1:1 JavaScript Expert Help / Become a JavaScript Codementor](https://www.codementor.io/javascript-experts?utm_source=newsletter-ad&utm_medium=newsletter&utm_term=help-become-mentor&utm_content=javascriptweekly&utm_campaign=cooperpress-newsletter-ad) 
Codementor helps developers learn JavaScript faster with on-demand live expert help. Are you a JS expert? Become a Codementor and get paid by helping your fellow developers.
CodementorSponsor

[Working with Regular Expressions in JavaScript](https://www.sitepoint.com/expressions-javascript/) tutorial 
If you’re intimidated by or new to regexes, this is a good place to start.
Kevin Yank

[Angular Directives Mapped to React](https://daveceddia.com/angular-directives-mapped-to-react/) tutorial 
How do you do the equivalents of ng-if, ng-repeat, and others, in React?
Dave Ceddia

[An Introduction to Unit Testing in Node](https://blog.risingstack.com/node-hero-node-js-unit-testing-tutorial/) tutorial node
Gergely Nemeth

[A Detailed Look at JS Variable Hoisting](http://rainsoft.io/javascript-hoisting-in-details/) tutorial 
A key aspect of working with variables in JavaScript.
Dmitri Pavlutin

[Building Real-time Apps with WebSockets and Server-Sent Events](https://www.sitepoint.com/real-time-apps-websockets-server-sent-events/) tutorial
Mark Brown

[An Introduction to Iteration in ES6 with Generator Functions](https://www.youtube.com/watch?v=wLOOFh8qoWA) video
Rally Coding

['!!' vs hasOwnProperty vs 'in' in 10 Minutes](https://www.youtube.com/watch?v=0MvcClhC4QI) video
Derick Bailey

[4 Most Common Errors with React/Redux](https://www.youtube.com/watch?v=IFMzqPDo6o4) video
Rally Coding

[Live Coding a 'Minimum Viable View' Library in 30 Minutes](https://www.youtube.com/watch?v=0nh2EK1xvegt=5s) video
Juha Lindstedt

[When Not to Use ES6 Arrow Functions](http://rainsoft.io/when-not-to-use-arrow-functions-in-javascript/) opinion
Dmitri Pavlutin

[7 Surprising Things I Learned Writing a Fibonacci Generator in JavaScript](https://medium.com/javascript-scene/7-surprising-things-i-learned-writing-a-fibonacci-generator-4886a5c87710) opinion
Eric Elliott

[Angular Code Review: Checklists for Reviewing Your Angular Code](https://angularcodereview.com/) tools
Jurgen Van de Moere

[Kajero: Interactive JavaScript Notebooks with Graphing Functionality](http://www.joelotter.com/kajero/) tools
Joel Otter

[Build faster Node.js apps](https://opbeat.com/?utm_source=javascriptweekly&utm_medium=newsletter) tools node 
See how your app spends its time (database, cache, external http requests), where it needs optimizing, and who wrote the slow code.
OpbeatSponsor

[ng2-notifications: Native Web Push Notifications with Angular 2](https://medium.com/@castillo.io/native-web-push-notifications-with-angular-2-c774a72c009e) code
Alex Castillo

[lodash-bound: Enables Chained Lodash Functions with ES Bind (::) Syntax](https://github.com/elado/lodash-bound) code
Elad Ossadon

[is.js: A Simple Yet Extensible Predicate Library](https://github.com/pwnn/is.js/) code 
Includes a wide variety of checks for objects.

[react-aim: Determine Cursor Aim for Triggering Events with React](https://github.com/gabrielbull/react-aim) code
Gabriel Bull

[Trixly: A Universal TypeScript Starter Kit for Angular 2 and React](https://github.com/trixler/trixly) code 
Tests using Mocha and Chai, TSLint for code style, transpilation to ES5 by Babel, and more.
KFlash

Curated by [Peter Cooper](http://twitter.com/peterc) and published by [Cooperpress](https://cooperpress.com/).

Like this? You may also enjoy: [FrontEnd Focus](http://frontendfocus.co/) : [Node Weekly](http://nodeweekly.com/) : [React Status](http://react.statuscode.com/)

[Stop getting JavaScript Weekly](*|UNSUB|*) : [Change email address](*|UPDATE_PROFILE|*) : [Read this issue on the Web](http://javascriptweekly.com/issues/287)

© Cooperpress Ltd. Fairfield Enterprise Centre, Lincoln Way, Louth, LN11 0LS, UK
