---
title: "Fixing memory leaks, TypeScript 3.8, and what's new in Angular 9"
publication: "JavaScript Weekly"
issue: 476
published_at: "2020-02-21"
canonical_url: "https://javascriptweekly.com/issues/476"
---

And more JavaScript links, tutorials, and projects of the week.       

#476 — February 21, 2020 

[Unsubscribe](https://javascriptweekly.com/leave/*|UID|*):[Read on the Web](https://javascriptweekly.com/issues/476)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ihrmcxqzcoun9vc0mvle.jpg)](https://nolanlawson.com/2020/02/19/fixing-memory-leaks-in-web-applications/)   

[Fixing Memory Leaks in Web Applications](https://nolanlawson.com/2020/02/19/fixing-memory-leaks-in-web-applications/) — When the front-end became more dynamic, part of the bargain was that front-end developers would have to deal with _“a new class of problems that don’t really exist in the server-rendered world”_.. including avoiding memory leaks on 101 different types of client device. Here’s an introduction to client-side memory leaks and how to begin investigating them. 

Nolan Lawson   

[TypeScript 3.8 Released](https://devblogs.microsoft.com/typescript/announcing-typescript-3-8/) — The latest version of TypeScript (the JS ‘superset’ with static type support) is with us and introduces support for ES private fields, `export * as ..`, top-level `await`, and more, all demonstrated in detail in this release post. 

Daniel Rosenwasser (Microsoft)   [![\](https://copm.s3.amazonaws.com/e457cb1e.png)](https://www.bugsnag.com/platforms/javascript?utm_source=cooperpress&utm_medium=cpc&utm_content=trial-signup&utm_campaign=javascript&utm_term=20200221) 

[Get Best in Class Error Reporting for Your JavaScript Apps](https://www.bugsnag.com/platforms/javascript?utm_source=cooperpress&utm_medium=cpc&utm_content=trial-signup&utm_campaign=javascript&utm_term=20200221) — Time is money. Software bugs waste both. Save time with Bugsnag. Automatically detect and diagnose errors impacting your users. Get comprehensive diagnostic reports, know immediately which errors are worth fixing, and debug in minutes. Try it free. 

Bugsnag sponsor   

[A Guide to `console` Commands](https://css-tricks.com/a-guide-to-console-commands/) — Yes, this topic has been done before, but this is truly the most thorough article I’ve seen on the topic. If `console.log` is as far as you’ve gone before, this is quite the journey. 

Travis Almand   

▶[9 Talks from the WebAssembly Summit 2020](https://www.youtube.com/playlist?list=PL6ed-L7Ni0yQ1pCKkw1g3QeN2BQxXvCPK#wassummit2020) — WebAssembly is undoubtedly going to become a more significant technology this decade and these talks provide a glimpse at the cutting edge of WASM with [Lin Clark’s talk](https://www.youtube.com/watch?v=IBZFJzGnBoU&list=PL6ed-L7Ni0yQ1pCKkw1g3QeN2BQxXvCPK&index=2&t=0s) providing perhaps the best overview of the space. 

YouTube   

[What's Coming in ESLint 7.0](https://eslint.org/blog/2020/02/whats-coming-in-eslint-7.0.0) — The next set of features for the popular configurable linter tool has been locked down. 

ESLint Team     

⚡️ Quick Releases 

- [react-redux 7.2.0](https://github.com/reduxjs/react-redux/releases/tag/v7.2.0) — Redux bindings for React apps.
- [Snowpack 1.4.0](https://github.com/pikapkg/snowpack/releases/tag/v1.4.0)
- [Node 13.9.0](https://nodejs.org/en/blog/release/v13.9.0/)
- [jquery.terminal 2.14.0](https://github.com/jcubic/jquery.terminal) — Create terminal-like experiences in the browser.
- [Slugify 0.11](https://github.com/sindresorhus/slugify) — Turn any string into a useful slug.   

💻 Jobs  

[Lead Server-Side Developer (Sydney or Remote across AUS/NZ)](https://compono.ai/careers/) — Build back-end frameworks server side software (Express.js + MongoDB + GraphQL) and write server-side code (JavaScript, Node.js). 

Compono   

[Find a Dev 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 is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers. 

Vettery  

ℹ️ _If you're interested in running a job listing in JavaScript Weekly, there's [more info here.](https://booking.cooperpress.com/jobs)_ 

📘 Articles & Tutorials  

▶[Wes Bos Demonstrates Cloudflare Workers](https://www.youtube.com/watch?v=48NWaLkDcME) — [Workers](https://workers.cloudflare.com/) is Cloudflare’s ‘run JavaScript code at the edge’ service (though it also supports Rust, C and C++ now). This is a good, practical introduction to a common use case and worth watching if you want to use JavaScript to process in-flight HTTP requests. 

Wes Bos   

[What’s Actually New in Angular 9?](https://auth0.com/blog/angular-9-whats-new/) — We featured the release of Angular 9 a couple of weeks ago – this post digests the release. 

John Papa and Kapehe Jorgenson   

[Aborting a Fetch API Request](https://meetguns.com/blog/aborting-a-fetch-request/) — The Fetch API didn’t have the ability to abort a request in its early days (unlike `XMLHttpRequest`) but AbortController and AbortSignal can help you get the job done on [all modern browsers](https://caniuse.com/#search=AbortController). 

Ganapati V S   

[The Ultimate Guide to Container Formats: Decrypting Video Technologies](https://go.bitmovin.com/ultimate-guide-container-formats?utm_source=javascript-weekly-sponsored-link&utm_medium=paid-newsletter&utm_campaign=container-formats) — This is a comprehensive guide of the definitions & processes that you must know when working with back-end video stacks. 

Bitmovin Inc. sponsor   

[How To Use The HTML Drag-And-Drop API in React](https://www.smashingmagazine.com/2020/02/html-drag-drop-api-react/) — How to use the `useReducer` hook for managing state in a React functional component. 

Chidi Orji   

[An Introduction to `Set` Objects](https://typeofnan.dev/the-javascript-set-object/) — A brief introduction to a handy type that was introduced with ES6/ES2015. 

Nick Scialli   

[Make Your Own DevTools?](https://kentcdodds.com/blog/make-your-own-dev-tools) — How creating DevTools _specific for your own app_ can be a way to improve your productivity. I could see this catching on! 

Kent C Dodds   

[Introducing the Page Visibility API](https://t.co/Z63izNRP5B?amp=1) — Modern browers generally handle page visibility stuff on their own nowadays, but you can do a little more with the API, which has excellent browser support. 

John Au-Yeung   

[Building an Image Gallery using PixiJS and WebGL](https://css-tricks.com/building-an-images-gallery-using-pixijs-and-webgl/) — This goes beyond your typical image gallery with an interesting 3D effect. Lots of bits and pieces here to learn. 

Luis Torres   

[Reactivity in Vue 2 vs Vue 3](https://www.vuemastery.com/blog/Reactivity-Vue2-vs-Vue3/) — This goes into quite some depth though it’s only for Vue developers or anyone generally curious about how to implement reactivity in JavaScript. 

Marina Mosti   

[How to Make a Simple JavaScript Quiz](https://www.sitepoint.com/simple-javascript-quiz/) — Although there are tools available to do this sort of thing, this raw step-by-step process might be a way to learn a variety of coding techniques. 

Yaphi Berhanu & James Hibbard   

[Build a Game of Battleship with TypeScript & Spring Cloud. Free Course](https://www.udemy.com/course/battleship-over-pubsub?utm_source=Syndication&utm_medium=Paid-Advertising&utm_campaign=JavaScriptWeekly-February212020) 

Solace sponsor   

[Moving from React to Ember in 2020](https://medium.com/@nowims/moving-from-react-to-ember-2020-86e082477d45) — There’s not a lot of detail here but it’s interesting to see someone make this choice and the reasons for it. Despite a lack of React-level buzz, [Ember](https://emberjs.com/) remains a solid choice for building apps if you lean into its advantages. 

John Rodkey   

[Thoughts and Best Practices on Building Apps with Vue and TypeScript](https://stefan-bauer.online/building-an-application-with-vue-and-type-script-best-practices-thoughts-and-recommendations/) 

Stefan Bauer   

[Lazy Loading Components in Angular 9](https://johnpapa.net/angular-9-lazy-loading-components/) — Have you ever wanted to lazy load an Angular component? Here is a technique you can use with Angular 9. 

John Papa   

[What is Type Coercion in Vanilla JavaScript?](https://gomakethings.com/what-is-type-coercion-in-vanilla-javascript/) — Not particularly for those already advanced with JavaScript, but this is a pretty detailed look at type coercion and includes lots of demos. 

Chris Ferdinandi   

[How to Build a Tinder-esque Carousel with Vanilla JS](https://www.hackdoor.io/articles/8MNPqDpV/build-a-full-featured-tinder-like-carousel-in-vanilla-javascript) 

Simone Manzi  

🔧 Code & Tools  

[Paged.js: Formats HTML Content Suitably for Creating PDF Output](https://www.pagedjs.org/) — I think this project’s site could win an award for sheer _elegance_, but it’s not just elegant, there’s [tons of well formatted documentation too.](https://www.pagedjs.org/documentation/) Or.. if you prefer, [the GitHub repo](https://github.com/pagedjs/pagedjs). 

Cabbage Tree Labs   

[Hex Engine: A Modern 2D Game Engine for the Browser](https://github.com/suchipi/hex-engine) — Still in early development. A TypeScipt- and Canvas-based game engine designed to feel similar to React. 

Lily Scott   

[A Much Faster Way to Debug Code Than with Breakpoints or`console.log`](https://wallabyjs.com/?utm_source=javascript&utm_medium=javascript&utm_campaign=javascript&utm_content=javascript) — Wallaby catches errors in your tests and code and displays them right in your editor as you type, making your development feedback loop more productive. 

Wallaby.js sponsor   

[Serialize JavaScript 3.0: Serialize Objects to a Superset of JSON](https://github.com/yahoo/serialize-javascript) — Why? So you can serialize regular expressions, dates, functions, and (as of this week) `Infinity`, as well as the usual things JSON can handle. 

Yahoo   

[Destiny: A 'Prettier' for File Structures](https://github.com/benawad/destiny) — Scans a folder’s contents, creating a graph based on how the JS/TS files import each other, moving files as needed, then builds a “prettified” file structure. Not sure I’m a fan but it’s an interesting idea. 

Ben Awad   

[Chardin.js: Simple Overlay Instructions for Your Pages/Apps](https://github.com/heelhook/chardin.js) — It’s not every week we get to announce a library’s new release after _six years_, but Pablo has taken over this classic library. [Demo](http://heelhook.github.io/chardin.js/). 

Pablo Fernandez   

[The Official Redux Template for Create React App v1.0](https://github.com/reduxjs/cra-template-redux/releases/tag/v1.0.0) — There’s now an official Redux template for Create React App to quickly set up a React app with Redux Toolkit and a Redux store ready to go. 

Mark Erikson   

[Micromodal: A Tiny JavaScript Library for Creating Accessible Modal Dialogs](https://github.com/ghosh/Micromodal) 

Indrashish Ghosh   

[Panolens.js: A Panorama Viewer Control](https://pchen66.github.io/Panolens/) — A striking full-page demo is on display here, or you can jump [straight to GitHub](https://github.com/pchen66/panolens.js). 

Ray Chen   

[Nano Events: A Tiny (78 Bytes) Event Emitter Library](https://github.com/ai/nanoevents) 

Andrey Sitnik         

Published by [Cooperpress](https://cooperpress.com/) and edited by [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
