---
title: "#343: The Main New Features of ES2017"
publication: "JavaScript Weekly"
issue: 343
published_at: "2017-07-14"
canonical_url: "https://javascriptweekly.com/issues/343"
---

#343: The Main New Features of ES2017

This week's JavaScript news — [Read this e-mail on the Web](http://javascriptweekly.com/issues/343)

JavaScript WeeklyIssue 343 — July 14, 2017[Reverse Engineering One Line of JavaScript](https://www.alexkras.com/reverse-engineering-one-line-of-javascript/)A fascinating look at how a ray-casted checker board effect was implemented in a mere 101 bytes of JavaScript. Alex Kras 
[The Main New Features of ES2017](https://hackernoon.com/es8-was-released-and-here-are-its-main-new-features-ee9c394adf66)The new features in the 8th edition of the EcmaScript specification including `padStart`, `padEnd`, `Object.getOwnPropertyDescriptors` and more. Dor Moshe 
[Pell: A Simple, Small (3KB) WYSIWYG Web Text Editor](https://github.com/jaredreich/pell)..with no dependencies. It’s essentially contentEditable with buttons and styling. [Demo here](https://jaredreich.com/pell). Jared Reich 
[![Frontend Masters\](https://copm.s3.amazonaws.com/74fe0f32.png)](https://frontendmasters.com/courses/testing-javascript/?utm_source=javascriptweekly&utm_medium=email)[🤖 Learn Testing JavaScript Apps (Feat. testing React and Redux)](https://frontendmasters.com/courses/testing-javascript/)Join Kent C. Dodds to master the latest tooling (like Jest & Cypress) and techniques to test real-world React, Redux, and Node express apps. Frontend MastersSponsor
[npx: An npm Package Runner That Comes with npm](https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b)npm 5.2 introduces a new binary alongside the usual npm: npx, a tool to simplify using CLI tools and other executables hosted on the registry. Kat Marchán 
[Generating Images in JS Without the Canvas API](https://medium.com/the-guardian-mobile-innovation-lab/generating-images-in-javascript-without-using-the-canvas-api-77f3f4355fad).. for putting them into Android notifications locally. A powerful solution for a very specific situation, resulting in notably rich notifications. Alastair Coote 
[A Look Into Pattern Matching in ECMAScript](https://ponyfoo.com/articles/pattern-matching-in-ecmascript)There’s a stage 0 proposal for pattern matching in JavaScript, here’s a look at what it entails and how it may prove useful. Nicolás Bevacqua 


Jobs

- [Front End Engineer at EDITED (London)](https://edited.com/jobs/engineering/?utm_source=javascriptweekly&utm_medium=email)Join us to impact how the world's biggest retailers operate by making a web app with great UX and DX using React, Redux and Glamor EDITED
- [Realtime developer - Node.js + preferable Go/Elixir](http://jobs.ably.io/o/realtime-developer--nodejs-and-goelixir?utm_source=javascriptweekly&utm_medium=email)We’re a growing realtime platform solving truly complex distributed problems at huge scale. If you enjoy challenging your grey matter, apply. ABLY.IO
- [Senior Software Engineer - JavaScript](http://jobs.jobvite.com/careers/newrelic/job/ocUh5fwc?__jvst=Job%20Board&__jvsd=JavaScriptWeekly)We are looking for a Software Engineer with strong interest and experience in UI engineering who can help take our newest product, New Relic Infrastructure, to the next level. New Relic

In Brief

[Attend the Polymer Summit, on 22-23 August in Copenhagen](https://events.withgoogle.com/polymer-summit-2017/registrations/new/?utm_source=javascriptweekly&utm_medium=newsletter&utm_campaign=register-polymersummit) news 
Attend talks & workshops to learn about how to build beautiful, fast mobile web apps with Polymer.
Google, Inc.Sponsor

[Integrate TypeScript in Your Vue Project](https://alexjoverm.github.io/2017/06/28/Integrate-TypeScript-in-your-Vue-project/) tutorial
Alex Jover Morales

[Emotion: The Next Generation of CSS-in-JS](https://medium.com/@tkh44/emotion-ad1c45c6d28b) tutorial
Kye Hohenberger

[HyperApp: The 1 KB JavaScript Library for Building Front-End Apps](https://www.sitepoint.com/hyperapp-1-kb-javascript-library/) tutorial 
Jorge Bucaran introduces HyperApp, a tiny, 1kb library with a compact API, built-in state management, and unrivalled, small bundle size.
SitePoint

[Building a Live WebCam Face Detector using Node and OpenCV](https://codeforgeek.com/2017/07/building-live-webcam-face-detector-node-js-opencv/) tutorial
Shahid Shaikh

[Learn and Understand Recursion in JavaScript](https://codeburst.io/learn-and-understand-recursion-in-javascript-b588218e87ea) tutorial 
A walk-through of two popular JS recursion examples.
Brandon Morelli

[Creating WebVR Experiences with Babylon.js](https://www.davrous.com/2017/07/07/from-zero-to-hero-creating-webvr-experiences-with-babylon-js-on-all-platforms/?utm_term=0_e157214751-a278a51948-138260465) tutorial
David Rousset

[Get Started with Rust, WebAssembly, and Webpack](https://medium.com/@ianjsikes/get-started-with-rust-webassembly-and-webpack-58d28e219635) tutorial
Ian J Sikes

[Build a Simple Realtime App with Vue.js 2.0 and Pusher](https://blog.pusher.com/build-simple-real-time-app-with-vue-js-2-0-and-pusher/) tutorial
Olayinka Omole

[Add Powerful UI Components to your React Apps with ExtReact](https://www.sencha.com/products/extreact/evaluate/?utm_source=cooperpress&utm_medium=tpe&utm_campaign=extreact&utm_content=complete-components) 
Learn how to build data-intensive, cross-platform web apps leveraging over 115 Sencha components and React.
Sencha, Inc.Sponsor

[What 10 Things Should a Serious JS Developer Know Right Now?](https://www.reddit.com/r/javascript/comments/6mlc9d/what_10_things_should_a_serious_javascript/) opinion
Reddit

[What I Learned About Vue.js from Building a Chrome Extension](https://medium.com/js-dojo/what-i-learned-about-vuejs-from-building-a-chrome-extension-bacbf857829) story
vuejs developers

[An Angular 4 Crash Course in 60 Minutes](https://www.youtube.com/watch?v=KhzGSHNhnbI) video 
Starts from absolute scratch, so ideal for beginners.
Brad Traversy

[How Uber Uses JavaScript and Node.js](https://www.youtube.com/watch?v=JWFyH13_I3o) video 
Uber is very strongly a Node shop for its Web-facing services.
Dustin Whittle

[Bundle Buddy: A Tool to Identify Bundle Duplication Across Splits](https://github.com/samccone/bundle-buddy) tools
Sam Saccone

[v8py: Write Python APIs Then Call Them Within A V8 Context](https://github.com/tbodt/v8py) tools
Theodore Dubois

[babel-preset-php: A Babel Preset to Convert PHP to JavaScript](https://gitlab.com/kornelski/babel-preset-php) tools 
Mostly for fun at this stage and just does an AST to AST translation.
Kornel Lesiński

[“CircleCI 2.0 is fast. We reduced builds from minutes to 12 seconds.”](https://circleci.com/?utm_source=cooperpress&utm_medium=newsletter&utm_content=javascript-weekly&utm_campaign=july) tools
CircleCISponsor

[DoppioJVM: A JVM in 100% JavaScript](http://plasma-umass.github.io/doppio-demo/) code

[BotUI: A JavaScript Framework to Create Conversational UIs](https://github.com/moinism/botui#readme) code
Moin Uddin

[Babylon.js 3.0: A Framework for Building 3D Experiences](https://blogs.windows.com/buildingapps/2017/07/12/announcing-babylon-js-3-0/#QyxUdeFl9O55JILH.97) code 
Here’s [a demo of it in action.](http://david.blob.core.windows.net/babylonjs/SponzaVR/index.html)
David Catuhe

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/343)

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