---
title: "Memoization, Svelte loves TypeScript, and V8 8.5"
publication: "JavaScript Weekly"
issue: 498
published_at: "2020-07-24"
canonical_url: "https://javascriptweekly.com/issues/498"
---

Plus more JavaScript links, tutorials, and projects.       

#498 — July 24, 2020 

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

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1595606892/lgqrer31ep5w0ko5so7b.jpg)](https://dev.to/hemanth/stage-4-features-5a26)  

[Several New Features Promoted to Stage 4 at TC39](https://dev.to/hemanth/stage-4-features-5a26) — If you’re interested in the future of JavaScript, several features have been promoted to _stage 4_ which, in [TC39 parlance](https://tc39.es/process-document/), means they are ‘finished’ and ready for inclusion in the formal ECMAScript standard. They include: 

- `Promise.any` and `AggregateError`
- Number separator support (e.g. `1_000_000`)
- [Weak references](https://v8.dev/features/weak-references)
- Improvements to `Intl.DateTimeFormat`
- ..and more, naturally 😄 

Hemanth HM   

[Vue 3 Now in Release Candidate Stage](https://github.com/vuejs/rfcs/issues/189) — The final Vue 3.0 release isn’t due till sometime next month, but the API and implementation are now considered ‘stabilized’ with no new major features or breaking changes expected. There’s also [a beta of the devtools](https://github.com/vuejs/vue-devtools/releases/tag/v6.0.0-beta.1) with 3.0 support and a new [v3 focused documentation site.](https://v3.vuejs.org/) Also here's [some of what's new in Vue 3](https://www.grapecity.com/blogs/whats-new-in-vue-3). 

Evan You   [![\](https://copm.s3.amazonaws.com/a4c9d2c7.jpg)](https://frontendmasters.com/courses/xstate/?utm_source=cooperpress&utm_medium=email&utm_campaign=xstate) 

[Learn State Machines from the Creator of XState, David Khourshid](https://frontendmasters.com/courses/xstate/?utm_source=cooperpress&utm_medium=email&utm_campaign=xstate) — By modeling the state in your application with state machines and statecharts, you will spend less time debugging edge cases and more time modeling complex application logic in a visually clear and robust way. 

Frontend Masters sponsor   

[Svelte 💛 TypeScript](https://svelte.dev/blog/svelte-and-typescript) — Svelte, a popular compile-time JavaScript framework, now supports TypeScript too. Here’s how it works and how the current approach makes a previously difficult task a lot easier. 

Orta Therox   

[V8 Version 8.5 Now in Beta](https://v8.dev/blog/v8-release-85) — Coming soon to a Node.js near you (not to mention Chrome 85), the latest branch of the V8 JavaScript engine boasts `Promise.any`, `String.prototype.replaceAll` (no regex needed!) and support for logical assignment operators (like `||=`). 

Zeynep Cankara (Google)   

[What The Heck Is.. Memoization?](https://whatthefork.is/memoization) — Dan Abramov is back tackling the topic of _memoization_ – when you can optimize a function by caching results that are ‘expensive’ (in terms of time or memory) to calculate numerous times. 

Dan Abramov     

**⚡️ Quick bytes:** 

- There's a new release (0.62) of [React Native for Windows](https://microsoft.github.io/react-native-windows/blog/2020/07/22/62updates) which supports Fast Refresh.
- The [proposal for records and tuples](https://github.com/tc39/proposal-record-tuple) has reached stage 2 at TC39. It'd bring record (`#{x:1, y:2}`) and tuple (`#[1, 2, 3, 4]`) data structures to JavaScript.
- [Other things happened](https://dev.to/hemanth/updates-from-77th-meeting-of-tc39-192o) at the recent TC39 meeting with other proposals too!
- Do you use [MDN](https://developer.mozilla.org/en-US/)? It's [celebrating its _15th birthday_](https://hacks.mozilla.org/2020/07/mdn-web-docs-15-years-young/) this week in a variety of ways 🥳   

💻 Jobs  

[Senior Full-Stack Engineer to Join Growing Team (React, Node.js) - London or Remote](https://wavepaths.com/vacancy/full-stack-developer) — Build our mental health platform for psychedelic therapy. Core tech is evidence-based generative music for therapists, care seekers and physical spaces. 

Wavepaths   

[Senior Front-End Systems Architect (Remote, Western Hemisphere)](https://boards.greenhouse.io/myplanet/jobs/2248813) — Got experience architecting and implementing front-end systems? Join us (in this fully remote role) and help us define best-in-class experience managers, site generators, UI and conversation frameworks. 

MyPlanet   

[One Application, Hundreds of Hiring Managers](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-javascriptweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77584) — Use Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers. 

Vettery  

📚 Tutorials, Opinions and Stories  

[The Official Redux Essentials Tutorial.. _Redux_](https://redux.js.org/tutorials/essentials/part-1-overview-concepts) — A redevelopment of the basic Redux introduction that focuses on teaching you how to use the popular state container _the right way_ with best practices. It’s practicality first and then digs into ‘how it works’ later on. 

Redux Team   

[A Gentle Introduction to Webpack](https://ui.dev/webpack/) — No violence here, just why [webpack](https://webpack.js.org/) exists, what problems it solves, and how to use it. Tyler has a good reputation as a teacher in the JavaScript space, so enjoy. 

Tyler McGinnis   

[Eliminating Duplicate Objects from Arrays: Three Approaches](https://2ality.com/2020/07/eliminating-duplicate-objects.html) 

Dr. Axel Rauschmayer   

[Serverless Rendering with Cloudflare Workers](https://blog.cloudflare.com/serverless-rendering-with-cloudflare-workers/) — How to do server-side rendering ‘at the edge’ using Workers Sites, Wrangler, HTMLRewriter, and tools from the broader Workers platform. 

Kabir Sikand   

[A Deep Dive Into V8](https://blog.appsignal.com/2020/07/01/a-deep-dive-into-v8.html?utm_source=javascript-weekly-sponsored&utm_medium=email&utm_campaign=deep-dive-v8&utm_content=sponsored-link) — Dive into V8's internal functioning, compilation and garbage collection processes, single-threaded nature, and more. 

AppSignal sponsor   

▶[New Course: Build JavaScript Applications with Node.js](https://docs.microsoft.com/en-gb/learn/paths/build-javascript-applications-nodejs/?WT.mc_id=mslearn-reddit-abartolo) — Microsoft has released a video course covering Node from the very start through to setting up a project, debugging, using VS Code, and building an Express-based API. 

Microsoft   

[An Introduction to Stimulus.js](https://www.smashingmagazine.com/2020/07/introduction-stimulusjs/) — Released by Basecamp a year or two ago now, Stimulus is a very light library to add behavior to your HTML elements without going full-on with a framework. Commonly used in the Ruby on Rails world, but worth checking out in its own right. 

Mike Rogers   

[Your Blog Doesn’t _Need_ a JavaScript Framework](https://iainbean.com/posts/2020/your-blog-doesnt-need-a-javascript-framework/) — Perhaps controversial, but, in explaining why he chose [Eleventy](https://www.11ty.dev/) over [Gatsby](https://www.gatsbyjs.org/), Iain argues that developers often overcomplicate sites, adding heavy frameworks where none is needed? 

Iain Bean   

[How to Create a Dynamic Rick and Morty Wiki Web App with Next.js](https://www.freecodecamp.org/news/how-to-create-a-dynamic-rick-and-morty-wiki-web-app-with-next-js/) — A good tutorial for getting started with Next.js and deploying to Vercel by building a fun wiki site. 

Colby Fayock   

[A Mental Model to Think in TypeScript](https://leandrotk.github.io/tk/2020/07/a-mental-model-to-think-in-typescript/) — If you’re new to TypeScript and struggling with how to ‘think more in types.’ 

TK  

🔧 Code & Tools  

[Perfect Arrows: A Minimal Way to Draw 'Perfect' Arrows Between Points and Shapes](https://github.com/steveruizok/perfect-arrows) — Here’s a [live demo](https://example.steveruizok.vercel.app/). 

Steve Ruiz   

[🎸 React Guitar: A Flexible 'Guitar Neck' Component for React](https://react-guitar.com/) — You’d use this to render things like chord positions, say. But, even better, you can ‘play’ it too 😁 

React Guitar   

[Breakpoints and `console.log` Is the Past, Time Travel Is the Future](https://wallabyjs.com/docs/intro/test-stories.html?utm_source=cooperpress&utm_campaign=javascript&utm_content=javascript) — 15x faster JavaScript debugging than with breakpoints and console.log. 

Wallaby.js sponsor   

[Handsontable: A Mature Data Grid That Feels Like a Spreadsheet](https://handsontable.com/) — Somehow it’s been [six years](https://javascriptweekly.com/issues/209) since we linked this last, but it’s still being updated and works with Vue, React, and Angular too. The only downside is it’s dual licensed, so it’s only free for evaluation or non-commercial use. [GitHub repo](https://github.com/handsontable/handsontable). 

Handsoncode     

**⚡️ Quick releases:** 

- [Node 14.6.0](https://nodejs.org/en/blog/release/v14.6.0/)
- [Jasmine 3.6.0](https://github.com/jasmine/jasmine/blob/main/release_notes/3.6.0.md) — Popular testing framework.
- [SystemJS 6.4.0](https://github.com/systemjs/systemjs/releases/tag/6.4.0) — Dynamic ES module loader.
- [Commander 6.0.0](https://github.com/tj/commander.js/releases/tag/v6.0.0) — Node command-line interfaces made easy.
- [ESLint 7.5.0](https://github.com/eslint/eslint/releases/tag/v7.5.0) — The JS code problem finder and fixer.
- [Alpine 2.5.0](https://github.com/alpinejs/alpine) — Compose JavaScript behavior in markup.   

🎨 Creative Corner  

Over the past few years Elijah Manor has been penning a few [frontend developer jokes](https://elijahmanor.com/front-end-web-dev-jokes). Now, he's converted one such joke into a comic strip using the TypeScript-powered [Excalidraw](https://excalidraw.com) web-tool. Take a look: 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1595586465/rnmexzhtuubqijnqbg4s.png)](https://elijahmanor.com/pun-console)        

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
