---
title: "The future JavaScript features at TC39"
publication: "JavaScript Weekly"
issue: 603
published_at: "2022-08-26"
canonical_url: "https://javascriptweekly.com/issues/603"
---

Plus Crockford teaches us how to pronounce JSON, JavaScript in space, and TypeScript 4.8. |        

#​603 — August 26, 2022 

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

If you missed my note two weeks ago, we took last week off, so you didn't miss any issues :-) We're now back every week until Christmas (121 sleeps to go..)
__
_Peter Cooper, your editor._  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/fqddrszuupygjnwov9nz.jpg)](https://deno.com/blog/changes)   

When Alternative JS Runtimes Grow Up: [Deno Has Big Changes Ahead](https://deno.com/blog/changes), and the Creator of [Bun](https://bun.sh/) Forms[Oven](https://oven.sh/) 

Two distinct stories that we felt deserved to be together as they provide a little look at the development of alternative server-side JavaScript runtimes that _aren't_ Node.js and are both going after overlapping markets. 

Deno's big news is that they're working hard on npm compatibility and Deno will be able to use _most_ npm modules soon ([Deno 1.25](https://deno.com/blog/v1.25) has been released with a preview). Meanwhile, Jarred Sumner, the creator of Bun, has answered our pun prayers and formed [Oven](https://oven.sh/), a company to support Bun's development, and already raised $7m for it. The heat is, most certainly, on. 

→ [deno.com/blog/changes](https://deno.com/blog/changes)
→ [oven.sh](https://oven.sh/) 

DENO AND OVEN   

▶[On the Future Features of JS](https://portal.gitnation.org/contents/future-features-of-js) — Hemanth is a TC39 delegate and hosts the popular [TC39er podcast.](https://tc39er.us/) In this 25-minute talk, he flies through a variety of current language proposals, their progress, and why they matter. 

Hemanth HM   [![\](https://copm.s3.amazonaws.com/0c585ea3.png)](https://frontendmasters.com/courses/tour-js-patterns/?utm_source=javascriptweekly&utm_medium=email&utm_content=jspatterns) 

[Take a Tour of JavaScript & React Patterns](https://frontendmasters.com/courses/tour-js-patterns/?utm_source=javascriptweekly&utm_medium=email&utm_content=jspatterns) — Join Lydia Hallie for the video course covering design patterns you can use to improve the code architecture of your web apps. Learn traditional JavaScript design patterns, React patterns, performance, and reading patterns. 

Frontend Masters sponsor   

[TypeScript 4.8 Released](https://devblogs.microsoft.com/typescript/announcing-typescript-4-8/) — The typed superset of JavaScript continues to remain popular. 4.8 is more a minor evolution than a revolution, but makes improvements to inference, correctness and consistency, file watching, and serious speedups on rebuilds. 

Daniel Rosenwasser (Microsoft)   

[Crawlee: A New Web Scraping / Automation Library for Node.js](https://blog.apify.com/announcing-crawlee-the-web-scraping-and-browser-automation-library/) — It’s always neat to see a new project launched with some fanfare. Crawlee gets a [3 minute introductory screencast](https://www.youtube.com/watch?v=g1Ll9OlFwEQ), a [launch post](https://blog.apify.com/announcing-crawlee-the-web-scraping-and-browser-automation-library/), and a [nice homepage.](https://crawlee.dev/) It builds _on top_ of things like Puppeteer and Playwright but can handle proxies, retries, spidering, working around blocks, and the like. 

Apify   

**IN BRIEF:** 

- 🛰 JavaScript is in space! The James Webb Space Telescope [runs JavaScript onboard](https://www.theverge.com/2022/8/18/23206110/james-webb-space-telescope-javascript-jwst-instrument-control), though not in quite the same way as we all run it.
- **How do you pronounce JSON?** Douglas Crockford, who basically came up with it in the first place, [▶️ explains all here.](https://www.youtube.com/watch?v=uR-f4b0G9lo) _But what about tabs vs spaces..?_
- If you have any apps deployed on Heroku's free tier, be aware [of changes coming to Heroku](https://blog.heroku.com/next-chapter) in the next few months that may mean you need to migrate elsewhere. _([Replit](https://replit.com/) and [Fly.io](https://fly.io/) are options we're keen on.)_
- [Node 18.8.0](https://nodejs.org/en/blog/release/v18.8.0/) is out and introduces easy support for creating and loading user-land snapshots.
- PlanetScale, a serverless MySQL platform, has introduced [an official serverless driver for JavaScript](https://planetscale.com/blog/introducing-the-planetscale-serverless-driver-for-javascript) that's Fetch API compatible.
- Storybook 7.0 is [now in alpha](https://storybook.js.org/blog/7-0-design-alpha/) with some nice design changes.   

**RELEASES:** 

[Solid 1.5](https://github.com/solidjs/solid) – Declarative and flexible JS UI library.
 [Fiddle 0.30](https://github.com/electron/fiddle) – Electron playground tool.
 [Capacitor 4.1](https://github.com/ionic-team/capacitor) – Cross-platform JS native app platform.
 _Note: There are more at the end of the issue._  

📒 Articles & Tutorials  

[Understanding When and Why React Re-Renders](https://www.joshwcomeau.com/react/why-react-re-renders/) — The processes around rendering are important to understand if you want to get the best performance possible from your React apps, so learn _why_ and when React re-renders in the first place. 

Josh W. Comeau   

[❤️ Loving console.log Is Easy, but Hate 😡 Losing Context to View Messy Output](https://console-ninja.com?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) — Developer productivity tools [Wallaby.js](https://wallabyjs.com?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly), [Quokka.js](https://quokkajs.com?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly), and [Console Ninja](https://console-ninja.com?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) (coming soon) show console.log values and errors right next to your code. 

Wallaby.js sponsor   

[Popular Node.js Patterns and Tools to Reconsider?](https://practica.dev/blog/popular-nodejs-pattern-and-tools-to-reconsider/) — Yoni is well known for his work in cataloging [Node best practices](https://github.com/goldbergyoni/nodebestpractices) (certainly worth looking at!) but he thinks we should reflect upon entrenched approaches over time. Here he presents 9 common approaches to reconsider. 

Yoni Goldberg   

[(Re-)Introducing Gatsby as a 'Reactive Site Generator'?](https://www.gatsbyjs.com/blog/re-introducing-gatsby-a-reactive-site-generator/) — Gatsby’s new focus is on enabling teams to deploy content rapidly with a new architecture that they say allows Gatsby Cloud to publish to its CDN in under a second. This post benchmarks Gatsby’s “Reactive Site Generation” (RSG) approach against most traditional approaches. 

Kyle Mathews   

[Advanced TypeScript Patterns: API Contracts](https://www.jonmellman.com/posts/typescript-for-api-contracts) 
Jon Mellman   

[My Experience of Speaking at VueConf US 2022](https://austingil.com/vueconf-us-2022-review/) 
Austin Gil   

[Installing and Running Node.js `bin` Scripts](https://2ality.com/2022/08/installing-nodejs-bin-scripts.html) 
Dr. Axel Rauschmayer  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/cojaw3azo5vnedvqy1mu.jpg)](https://nenadmarkus.com/p/picojs-intro/)  

[pico.js: Face Detection Library in 200 Lines of JS](https://nenadmarkus.com/p/picojs-intro/) — The author of a C-based face detection library has turned his hand to JavaScript and here’s the end result. There’s [a live demo](https://nenadmarkus.com/p/picojs-intro/demo/) that runs well and the linked post explains how it works in depth. 

Nenad Markuš   

[GopherJS: A Go(lang) to JavaScript Transpiler](https://github.com/gopherjs/gopherjs) — The [latest beta](https://github.com/gopherjs/gopherjs/releases/tag/v1.18.0-beta1%2Bgo1.18.5) brings it up to Go 1.18 (though without generics for now, alas) and ES6/ES2015 standards. There’s [an online playground](https://gopherjs.github.io/playground/) if you want to have a quick play. 

GopherJS   

[Introducing the Most Powerful Free Plan in CI/CD](http://buildkite.com?utm_campaign=Free%20Plan%20Ad&utm_source=ppc&utm_medium=CPress&utm_term=Java-Script-Weekly&utm_content=Sign-up) — No limits on concurrent jobs, pipelines, CPU, or memory. Built-in tracking & monitoring for tests. 10,000 minutes/month. 

Buildkite sponsor   

[inappbrowser.com: See What JS is Injected by In-App Browsers](https://krausefx.com//blog/announcing-inappbrowsercom-see-what-javascript-commands-get-executed-in-an-in-app-browser) — The idea is simple: you share the URL [https://inappbrowser.com/](https://inappbrowser.com/) within an app of choice, click through to it, and the resulting landing page will tell you if it detects any JavaScript or CSS it didn’t supply itself. 

Felix Krause   

[Node v16.17.0 (LTS) Released](https://nodejs.org/en/blog/release/v16.17.0/) — A useful LTS release with a couple of modern backported features – this time, 16.x users gain access to the `util.parseArgs` CLI argument parsing function, the experimental ESM loader hooks API, and the `node:test` module and runner. 

Michaël Zasso   

[NodeGui: Build Cross Platform Desktop Apps with JS and CSS](https://docs.nodegui.org/) — Differs from Electron in using the Qt GUI framework which can make things more complicated but also more efficient in terms of memory use. 

NodeGui   

[Free Activity Feeds & Chat APIs for Qualifying Teams](https://getstream.io/maker-account/?utm_source=JavascriptWeekly&utm_medium=Promoted_Newsletter&utm_content=Developer&utm_campaign=JavascriptWeekly_September2022_MakerAccount_klmh22) 

Stream sponsor   

[react-easy-crop 4.5: A Component to Crop Images and Videos](https://valentinh.github.io/react-easy-crop/) 
Valentin Hervieu   

[Seven Tools for Creating a New React App](https://blog.bitsrc.io/6-best-ways-to-create-a-new-react-application-57b17e5d331a) 
Jonathan Saring (Bit)   

**OTHER QUICK RELEASES:** 

[Focus Trap 7.0](https://github.com/focus-trap/focus-trap) – Trap the focus within a DOM node (e.g. a modal).
 [Electron Packager 16.0](https://github.com/electron/electron-packager) – Customize and package Electron apps.
 [DOMPurify 2.4](https://github.com/cure53/DOMPurify) – Fast, tolerant XSS sanitizer for HTML and SVG.
 [vue-advanced-chat 2.0](https://github.com/antoine92190/vue-advanced-chat) – Agnostic chat room component.
 [Soketi 1.4](https://github.com/soketi/soketi) – Fast, resilient WebSocket server on Node.
 [Mineflayer 4.4](https://github.com/PrismarineJS/mineflayer) – API to create Minecraft bots.
 [calendar-base 2.0](https://github.com/WesSouza/calendar-base) – Base methods for generating calendars.     

💻 Jobs  

[Senior JavaScript/TypeScript Developer (Remote or Warsaw) 🇵🇱](https://cksource.com/careers/?utm_source=jsweekly&utm_medium=email&utm_campaign=aug26#senior-javascript-typescript-developer) — Join the CKEditor team to develop an Open Source project used by millions of users around the world 🚀and realize your true potential. 
CKEditor   

[Find JavaScript Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-javascriptweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired    

🥳 A Quick Bit of Fun 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/nzgxwkxytaugbqurczjb.jpg)](https://tholman.com/cursor-effects/)  

Head straight back to the 90s / early 00s and enjoy [some retro Web cursor effects.](https://tholman.com/cursor-effects/) Next up: custom scrollbars, 10px Tahoma, and scrolling frames everywhere.        

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'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
