---
title: "Firefox 69, and a thorough introduction to D3.js"
publication: "JavaScript Weekly"
issue: 453
published_at: "2019-09-06"
canonical_url: "https://javascriptweekly.com/issues/453"
---

This week's JavaScript news       

#453 — September 6, 2019 

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

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/xi1rltwcthnvlfohjthr.jpg)](https://wattenberger.com/blog/d3)   

[An Introduction to D3.js](https://wattenberger.com/blog/d3) — A fantastic, well presented introduction to [D3](https://d3js.org/), a popular JavaScript-based data-visualization library, and its ecosystem of modules. 

Amelia Wattenberger   

[Firefox 69 Released; Now Supports Public Instance Fields (and More)](https://hacks.mozilla.org/2019/09/firefox-69-a-tale-of-resize-observer-microtasks-css-and-devtools/) — Firefox 69 went out on the main Release channel this week and for JS developers, the inclusion of [public instance fields](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields#Public_fields) will be of interest. The Resize Observer API and the Microtasks API are now also available to use and the JS debugger has gotten many improvements too. 

Mozilla Hacks   [![\](https://copm.s3.amazonaws.com/ed29dbf3.jpg)](https://cloudinary.com/users/register/free?utm_source=javascript_weekly&utm_medium=sponsored_placement&utm_campaign=dev_sign_up&utm_content=primary_listing&utm_keyword=september_6_2019) 

[Image & Video Management Made for Developers](https://cloudinary.com/users/register/free?utm_source=javascript_weekly&utm_medium=sponsored_placement&utm_campaign=dev_sign_up&utm_content=primary_listing&utm_keyword=september_6_2019) — Simplify and automate the process of uploading, manipulating, optimizing, and delivering images and videos across every device at any bandwidth. Try Cloudinary. See how easy media management can be. Get your own free account today. 

Cloudinary sponsor   

[Apple Just Shipped Web Components to Production and You Probably Missed It](https://dev.to/ionic/apple-just-shipped-web-components-to-production-and-you-probably-missed-it-57pf) — Apple just [launched a Web-based client](https://www.engadget.com/2019/09/05/apple-music-web-player-beta-browsers/) for their Apple Music service and several developers noticed what tech they’re using to make it tick (namely Ember, Web Components, and Stencil JS). 

Max Lynch   

▶[21 Talks from React Rally 2019](https://www.youtube.com/playlist?list=PLUD4kD-wL_zaXhR4KU1CkUSIzh1TrvnzA#reactrally2019) — The _React Rally_ event took place in Salt Lake City just two weeks ago but already lots of the talks are up and ready to watch. 

React Rally   

[A Google Developer's Feedback on TypeScript](https://github.com/microsoft/TypeScript/issues/33272) — _“We recently upgraded Google to use TypeScript 3.5. Here is some feedback on the upgrade.”_ We also learn Google only uses a single version of TypeScript that’s updated for everyone simultaneously. 

Evan Martin   

[Using `void` in JavaScript and TypeScript](https://fettblog.eu/void-in-javascript-and-typescript/) — `void` means rather different things in JS and TypeScript and does some things I hadn’t expected too. 

Stefan Baumgartner  

💻 Jobs  

[Work with Giant, Caged Robots, and Node.js; Senior Developer, London](https://job.careersjs.com/ec3) — So, about the robots: They live in cages, travel at 60mph, and they’re controlled via AMQ messages from a Node-based Warehouse Management System. 

CareerJS   

[JavaScript Developer at X-Team (Remote)](https://x-team.com/remote-javascript-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=js) — Join the most energizing community for developers. Work from anywhere with the world's leading brands. 

X-Team   

[Find a JavaScript 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) — Make a free profile, name your salary, and connect with hiring managers from top employers. 

Vettery  

📘 Tutorials  

[5 Handy Applications of `Array.from()`](https://dmitripavlutin.com/javascript-array-from-applications/) — Array.from() transforms array-_like_ objects to arrays and can be used to generate ranges, remove duplicates, and clone arrays. 

Dmitri Pavlutin   

[Creating Drag and Drop Elements with Vanilla JavaScript and HTML](https://alligator.io/js/drag-and-drop-vanilla-js/) — I remember when this used to be really complicated to do, but the HTML Drag and Drop API helps a _lot_ nowadays. 

Jess Mitchell   

[Score SOC 2 Compliance Quick Wins Using Git: A Developer's Guide](https://try.datree.io/soc2-compliance-git-guide?utm_source=cooperpress&utm_medium=jsweekly) 

Datree.io sponsor   

[Debugging TypeScript in Firefox DevTools](https://hacks.mozilla.org/2019/09/debugging-typescript-in-firefox-devtools/) — Firefox Debugger has evolved a lot in the last several months and while it’s well suited for working with JavaScript, it’s possible to debug TypeScript too thanks to source maps. Here’s a basic example. 

Jan Honza Odvarko   

[You Already Use Types](https://www.swyx.io/writing/types-already) — A post aimed firmly at skeptics and newcomers to type systems. 

Shawn 'swyx' Wang   

[Simplify Your JavaScript with `.some()` and `.find()`](https://medium.com/poka-techblog/simplify-your-javascript-use-some-and-find-f9fb9826ddfd) — If you haven’t revised [the array methods](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) in recent years, you might be missing out and reinventing the wheel in your code. 

Etienne Talbot   

[Some Practical Uses of Symbols in JavaScript and TypeScript](https://fettblog.eu/symbols-in-javascript-and-typescript/) 

Stefan Baumgartner   

[Creating a Simple JavaScript Obfuscator](https://antoinevastel.com/javascript/2019/09/04/home-made-obfuscator.html) — Obfuscating a language that’s ultimately run in an interpreted style can often seem like a pointless endeavor, but it’s neat to see the process adopted here. 

Antoine Vastel   

[Writing Data to InfluxDB with Python](https://www.influxdata.com/blog/writing-data-to-influxdb-with-python/) 

InfluxData sponsor   

▶[Discussing Functional Programming with Brian Lonsdorf](https://devchat.tv/js-jabber/jsj-388-functional-programming-with-brian-lonsdorf/) — A 45 minute podcast chat about the fundamentals of functional programming and comparisons with object oriented approaches. 

JavaScript Jabber podcast   

[An App Security Expert's POV on Dependency Management](https://blog.npmjs.org/post/187496869845/appsec-pov-on-dependency-management) — An application security expert’s point of view over what practices you should be adopting on your own projects. 

Adam Baldwin (npm, Inc.) node  

🔧 Code and Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,c_fill,g_north,h_295/fs9dilsuahcdkhunxwq5.jpg)](https://bitmelo.com/)   

[Bitmelo: An Online Environment for Creating JavaScript Games](https://bitmelo.com/) — It’s early days for this interesting project, but it’s basically an online sandbox geared to creating and working on simple JavaScript games, complete with tile, sound, map, and code editors. 

David Byers   

[Cytoscape.js: A Graph Theory/Network Library for Visualization and Analysis](https://js.cytoscape.org/) — Handy if you need to model and/or visualize relational data, like biological data or social networks. 

Max Franz   

[MongoDB Atlas is a Powerful and Reliable Cloud Database. Try Now](https://www.mongodb.com/cloud/atlas/lp/general/try?utm_campaign=cooperpress&utm_source=java&utm_medium=sponsored_newsletter) 

MongoDB Atlas sponsor   

[Angular Tools for High Performance](https://blog.angular.io/angular-tools-for-high-performance-6e10fb9a0f4a) — Contains a list of new tools and practices that can help in the building of faster Angular apps and to monitor their performance over time. 

Minko Gechev   

[instant.page 2.0: Preload Link Target Pages ASAP](https://instant.page/2) — You include some JavaScript in your page and the browser will begin to preload the destination page the second someone clicks on a link. This can result in a slight, but noticeable, performance increase. 

Alexandre Dieulot   

[SpaceTime: A Timezone Library with No Dependencies](http://spacetime.how/) — Supports daylight savings, leap years, and hemispheres, and lets you calculate times in different timezones. 

Spencer Kelly   

[vue-treeselect: A Multi-Select Component for Vue.js with Nested Options Support](https://vue-treeselect.js.org/) — There’s a lot of documentation and examples to enjoy here. 

Fangzhou Li   

[Jimp: Image Processing in Node with No Native Dependencies](https://github.com/oliver-moran/jimp) — Want to get your resizing, cropping, color manipulation, or dithering on without any external dependencies? 

Oliver Moran node   

[Redux Persist: Persist and Rehydrate a Redux Store](https://github.com/rt2zz/redux-persist) 

Zack Story   

[Build a JS Interpreter in JavaScript Using Acorn as a Parser](https://blog.bitsrc.io/build-a-js-interpreter-in-javascript-using-acorn-as-a-parser-5487bb53390c) 

Chidume Nnamdi   

[How to Build a Search App for Unsplash with Svelte 3](https://freshman.tech/unsplash-search/) — Use Svelte 3 and the Intersection Observer API to build a basic search tool for the Unsplash stock photography collection. 

Ayo Isaiah     

⚡️ Quick Releases 

- [Node 12.10](https://nodejs.org/en/blog/release/v12.10.0/) — The ever-popular JavaScript platform.
- [Handlebars.js 4.2](https://github.com/wycats/handlebars.js) — Long standing templating library.
- [VuePress 1.0.4](https://github.com/vuejs/vuepress) — Vue-powered static site generator.
- [Riot 4.5](https://riot.js.org/) — Simple and elegant component-based UI library.
- [RxDB 8.4](https://github.com/pubkey/rxdb) — A realtime database for JavaScript apps.           

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
