---
title: "New ES2018 features worth knowing (with examples)"
publication: "JavaScript Weekly"
issue: 419
published_at: "2019-01-11"
canonical_url: "https://javascriptweekly.com/issues/419"
---

This week's JavaScript news       

#419 — January 11, 2019 

[Read on the Web](https://javascriptweekly.com/issues/419)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/n0om9grh6xolee6ojnrf.jpg)](http://www.fromjs.com/)  

[FromJS: An Experimental Data-Flow Analysis Tool for Front-End JS](http://www.fromjs.com/) — An interesting tool that shows you where each value in the DOM comes from - very useful for looking at how other pages work or for certain types of debugging. There’s also a [blog post](http://www.mattzeunert.com/2018/05/27/dynamic-dataflow-analysis-for-javascript-how-fromjs-2-works.html) and [video](https://www.youtube.com/watch?v=HmuadtxtBS4) about how it works. _Note: Requires Node 9 or under for now._ 

Matt Zeunert   

[New ES2018 Features Every JavaScript Developer Should Know](https://css-tricks.com/new-es2018-features-every-javascript-developer-should-know/) — ES2018 wasn’t as huge a leap forward as ES6, but this post is packed with interesting examples of spread properties within object literals, asynchronous iterators and asynchronous iterables, Promise.prototype.finally, and other new features. 

Faraz Kelhini   [![\](https://copm.s3.amazonaws.com/de92971b.png)](https://slackfrontiers.com/2019?utm_medium=email&utm_source=cooperpress&utm_campaign=fy20q102-cooperpress-frontiers) 

[Frontiers 2019: Explore New Ways to Build Apps on Slack](https://slackfrontiers.com/2019?utm_medium=email&utm_source=cooperpress&utm_campaign=fy20q102-cooperpress-frontiers) — Frontiers is a Slack conference exploring the future of work. In the developer track, you'll get immersive training on new functionality and hands-on workshops for app builders at all development stages. Register today for early bird pricing. 

Slack sponsor   

[Node and JavaScript Testing Best Practices](https://medium.com/@me_37286/yoni-goldberg-javascript-nodejs-testing-best-practices-2b98924c9347) — A well presented collection of 30 best practices for better JavaScript testing, continuous integration, and overall quality. 

Yoni Goldberg   

[2018 JavaScript Rising Stars](https://risingstars.js.org/2018/en/) — An annual roundup of which JavaScript projects did well in terms of GitHub stars over the prior year in various categories. It’s a bit of a popularity contest but it’s nice to get a feel for what’s going on. 

Michael Rambeau   

[Anime.js 3.0: A JS Animation Library for the Web](http://animejs.com/) — A mature and powerful animation library takes another [step forward](https://github.com/juliangarnier/anime/releases/tag/v3.0.0) with a new site, new [documentation and examples](https://animejs.com/documentation/), new easings, new callbacks, and more. 

Julian Garnier   

[GitHub Announces Unlimited Free Private Repos](https://blog.github.com/2019-01-07-new-year-new-github/) — A late Christmas present comes from GitHub in the shape of their free offering now including unlimited private repositories (something that previously cost $7/mo) with a limit of three collaborators per repo. For balance, [_GitLab’s_ CEO had a response.](https://about.gitlab.com/2019/01/07/github-offering-free-private-repos-for-up-to-three-collaborators/) 

GitHub  

💻 Jobs  

[Senior Web Developer at Dr. Bill (Remote OK)](https://www.dr-bill.ca/senior-web-developer) — Dr. Bill helps Canadian doctors save time by streamlining their billing. Help lead our team into the next phase of growth. 

Dr. Bill   

[JavaScript/Node Developer - Brighton UK](https://jobs.madgex.com/jobs/6f1d4b/?campaignId=17) — Growing new-product team, modern JavaScript tools and data-driven innovation. Flexible working and a fierce commitment to L&D. 

Madgex   

[Find A Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-javascriptweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77584) — Vettery matches top tech talent with growing companies. Create your profile to get started. 

Vettery  

📘 News, Tutorials and Opinions  

[Defensive JavaScript](https://www.javascriptjanuary.com/blog/defensive-javascript) — _“How to write code that doesn’t do what it oughtn’t”_ 

Mike Samuel (Google)   

[How Do Top Developers Deliver Video? - Download the 2018 Video Report](https://hubs.ly/H0dZqxL0) — Hundreds of developers around the world reveal their preferred video streaming solutions. 

Bitmovin sponsor   

[Setting a React Project From Scratch Using Babel and Webpack](https://blog.bitsrc.io/setting-a-react-project-from-scratch-using-babel-and-webpack-5f26a525535d) 

Anshul Goyal   

[A Look at TypeScript 2.8's Conditional Types](https://blog.mariusschulz.com/2019/01/09/typescript-2-8-conditional-types) — An intro to conditional types, a powerful addition to the type system introduced in TypeScript 2.8. 

Marius Schulz   

[10 Best Tips for Learning Vue from Vue Masters](https://medium.com/vue-mastery/10-best-tips-for-learning-vue-from-vue-masters-a21c794b1e6e) — 6 Vue experts talk about what they wish they would have known when first starting out. 

Gregg Pollack   

[So Many Ways to Learn Kotlin - Which Is Right for You?](https://bignerdranch.lpages.co/big-nerd-ranch/?utm_source=ad&utm_medium=banner&utm_campaign=Cooperpress_JSWeekly_Jan19) 

Big Nerd Ranch sponsor   

[Things Dan Abramov Doesn’t Know](https://overreacted.io/things-i-dont-know-as-of-2018/) — React core team member and the creator of Redux wants you to realize that _“even your favorite developers may not know many things that you know”_ and shares his own list of blind spots. 

Dan Abramov   

[Aurelia 2018 Year in Review](https://aurelia.io/blog/2019/01/02/aurelia-2018-year-in-review/) — Not just a look back but a look at what’s happening this year too with the component-oriented client framework. 

Rob Eisenberg  

🔧 Code and Tools  

[DoneJS 3 Released](https://www.bitovi.com/blog/donejs-3) — DoneJS is a framework for building high performance, real-time web and mobile apps and version 3 aims to provide ‘best in class server-side rendering’. 

Matthew Phillips   

[Libraries To Help You Work with WebGL](https://areknawo.com/your-webgl-aiders/) — Working with WebGL directly can get very verbose and technical quickly, but luckily there are libraries and toolkits to make it easier. 

Arek Nawo   

[A Much Faster Way to Debug Code Than with Breakpoints or `console.log`](https://wallabyjs.com/docs/intro/value-explorer.html?utm_source=cooperpress&utm_medium=email&utm_campaign=javascriptweekly&utm_content=javascriptweekly) — Wallaby catches errors in your tests and displays the results of expressions right in your editor as you type. 

Wallaby.js sponsor   

[music-fns: Music Notation-Related JavaScript Functions](https://github.com/madewithlove/music-fns) — For things like working with note names, octaves, frequency, intervals, and scales. 

madewithlove   

[Karin: A Promise Based HTTP Client That Uses Template Literals](https://github.com/vaheqelyan/karin) — Currently an experiment/work in progress. Uses the Fetch API under the hood. 

Vahe   

[HotKeys.js: A Robust Library for Capturing Keyboard Input](http://wangchujiang.com/hotkeys/) 

Kenny Wong   

[Vue Glide: A Vue Component for the Glide.js Slider/Carousel](https://github.com/antonreshetov/vue-glide) 

Anton Reshetov         

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

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
