---
title: "How to read the spec behind JavaScript"
publication: "JavaScript Weekly"
issue: 578
published_at: "2022-02-25"
canonical_url: "https://javascriptweekly.com/issues/578"
---

Plus experiment HTTPS module loading support in Node.js, and the story of asychronous JavaScript. |        

#​578 — February 25, 2022 

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

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/jfjygbcwjmtjosaj4swg.jpg)](https://2ality.com/2022/02/wrapper-objects.html)  

[What Are Wrapper Objects for JavaScript's Primitive Values?](https://2ality.com/2022/02/wrapper-objects.html) — Dr. Axel talks about how primitive types like boolean and string have associated wrapper classes (e.g. Boolean and String) and demonstrates the _value_ (pun not originally intended!) they provide. 

Dr. Axel Rauschmayer   

[How to Read the ECMAScript Specification](https://timothygu.me/es-howto/) — Each time there’s a new ECMAScript spec we link to it - such as [this draft ES2022 spec](https://tc39.es/ecma262/).. but who reads such a complex and intimidating document? This is a neat dig into how the spec ticks formatting wise and why the spec is worth a skim at the least. 

Timothy Gu   [![\](https://copm.s3.amazonaws.com/ae9d744f.jpg)](https://frontendmasters.com/courses/rx-js/?utm_source=javascriptweekly&utm_medium=email&utm_content=rxjs) 

[Learn the Fundamentals of Rx.js](https://frontendmasters.com/courses/rx-js/?utm_source=javascriptweekly&utm_medium=email&utm_content=rxjs) — This useful JavaScript library is great for managing events that happen over time, and in this detailed video course Steve Kinney covers what you need to know to make use of it — including observables, events, intervals, timers, operators, and more. 

Frontend Masters sponsor   

📄 PDF: [From JavaScript to Rust: A Book](https://github.com/vinodotdev/node-to-rust/releases/download/v1/from-javascript-to-rust.pdf) — A book that attempts to map common JavaScript workflows to the Rust ecosystem, if you’ve been keen to pick up the increasingly popular systems language. There’s also a [GitHub repo](https://github.com/vinodotdev/node-to-rust/) with the source for the book. 

Jarrod Overson   

[Cheerp 2.7: Compile C++ to WebAssembly and JavaScript](https://medium.com/leaningtech/cheerp-2-7-compile-cpp-to-webassembly-plus-javascript-c9b3ef7e318b) — The latest version of a unique tool (built upon the `clang` compiler) that provides JavaScript-C++ interoperability gains ES modules support and produces faster and smaller output than before. 

Carlo Piovesan   

**IN BRIEF:** 

- 🟩 [Node 17.6.0](https://nodejs.org/en/blog/release/v17.6.0/) has been released with initial (and experimental) support for [loading ES modules over HTTPS](https://nodejs.org/docs/latest-v17.x/api/esm.html#https-and-http-imports).
- [Glitch](https://glitch.com/) is a neat online app building environment well suited to JavaScript apps, and you can now [deploy Glitch apps to DigitalOcean.](https://blog.glitch.com/post/glitch-and-digitalocean-make-deploying-your-apps-even-easier) They're also [collaborating with Fastly](https://blog.glitch.com/post/coming-soon-fastly-compute-edge-on-glitch).
- The [▶️ story of TypeScript told in 6 minutes](https://www.youtube.com/watch?v=EUlM3wx546o). And if you like this format, there's the [▶️ story of asynchronous JavaScript](https://www.youtube.com/watch?v=rivBfgaEyWQ) too! 

**RELEASES:** 

[Playwright 1.19](https://github.com/microsoft/playwright/releases/tag/v1.19.0) – Browser automation library.
 [neo.mjs 3.2.5](https://github.com/neomjs/neo) – Web Worker enhanced frontend framework.
 [Jasmine 4.0.1](https://github.com/jasmine/jasmine/blob/main/release_notes/4.0.1.md) – JS testing framework.
 [Resemble.js 4.1](https://github.com/rsmbl/Resemble.js) – Image analysis and comparison library.
 [eva.js 1.2.7](https://github.com/eva-engine/eva.js) – Front-end game engine.
 [History 5.3](https://github.com/remix-run/history) – Manage session history with JS.
 [qooxdoo 7.0](https://qooxdoo.org/) – SPA framework we last mentioned 7 yrs ago(!)    

💻 Jobs  

[Work Remotely Forever](https://topt.al/APca5R) — When you join Toptal, you get the freedom of freelance with the security of full-time. Take control of your career today. 
Toptal   

[JavaScript Developer at X-Team (Remote)](https://x-team.com/remote-javascript-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=cooperpress-js&utm_content=js) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more. 
X-Team   

[Fullstack Engineer (Remote, EU Timezones)](https://feather-insurance.com/careers/full-stack-engineer) — We’ve built a product thousands of people love (See [Trustpilot](https://www.trustpilot.com/review/feather-insurance.com) if you don’t believe us). We need your help with Node & TypeScript. 
Feather    

📒 Articles & Tutorials  

[How to Reliably Send an HTTP Request on Leaving a Page](https://css-tricks.com/send-an-http-request-on-page-exit/) — Browsers don’t guarantee to preserve open HTTP requests when changing pages but there are some mitigations or alternative approaches (e.g. beacons). 

Alex MacArthur   

[How To Develop a Text Editor for the Web](https://www.smashingmagazine.com/2022/02/develop-text-editor-web/) — The engineer at a company building a browser-based design tool reflects on some of the technical issues of producing a reliable text entry widget. 

Ilya Medvedev   

[3k+ Devs Completed the State of Frontend 2022 - It's Your Turn](https://hubs.ly/Q01318Cf0) — 3k devs and counting - we need you too! Take 8 minutes click through the survey, and catch the outcome soon. 

The Software House sponsor   

[Future JavaScript: A Look at Records and Tuples](https://dev.to/smpnjn/future-javascript-records-and-tuples-14fk) — Two years ago we mentioned the [record and tuples proposal](https://github.com/tc39/proposal-record-tuple) (two new deeply immutable primitive types for JS) had reached stage 2 at TC39. It’s still there.. but [a polyfill](https://babeljs.io/docs/en/babel-plugin-proposal-record-and-tuple#docsNav) brings them to Babel users. 

Johnny Simpson   

[You Can `throw()` Anything In JavaScript (And Other `async`/`await` Considerations)](https://www.bennadel.com/blog/4210-you-can-throw-anything-in-javascript-and-other-async-await-considerations.htm) — The author experiments with `throw` and ends up questioning his mental model of error handling. 

Ben Nadel   

▶[What is _Responsible_ JavaScript?](https://www.smashingmagazine.com/2022/02/smashing-podcast-episode-45/) — The author of [Responsible JavaScript](https://responsiblejs.dev/) talks about topics like responsible data usage, user experience, backwards compatibility, etc. _(55 minutes.)_ 

Smashing Magazine Podcast podcast   

[How to Make a Data Dashboard with React Native](https://www.influxdata.com/blog/data-visualizations-react-native-victory-charts-tutorial/?utm_source=vendor&utm_medium=referral&utm_campaign=2022-02-25_spnsr-nl_react-native-victory-charts_global&utm_content=javascriptweekly) 

InfluxData sponsor   

[How to Use `nextTick()` in Vue](https://dmitripavlutin.com/vue-next-tick/) — `nextTick(callback)` executes the callback when the DOM has been updated. 

Dmitri Pavlutin   

[Optimizing Third-Party Script Loading in Next.js](https://web.dev/script-component/) 
Leena Sohoni and Houssein Djirdeh (Google)   

▶[10 Things You Should Know About Lodash in 3 Minutes](https://www.youtube.com/watch?v=yswr0G3kK14) 
EzBackend   

[Comparing Gatsby and Next.js](https://dev.to/alex_barashkov/comparing-gatsby-and-nextjs-for-website-development-13b7) 
Alex Barashkov   

[Implementing the Game of Life with React, Hooks and Chakra-UI](https://creotip.io/posts/building-game-of-life-with-react-hooks-chakra-ui) 
Ruslan Elishaev  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/njkhs6ndybzlyulcjfwj.jpg)](https://www.xata.io/blog/introducing-screenshot/)   

[Screenshot: No-Dependency Browser-Native Screenshot Library](https://www.xata.io/blog/introducing-screenshot/) — Uses the MediaDevices API but provides an easier to use abstract for letting users take screenshots. [GitHub repo](https://github.com/xataio/screenshot). 

Tejas Kumar   

[Introducing FormKit: A Vue 3 Form Building Framework](https://dev.to/justinschroeder/introducing-formkit-a-vue-3-form-building-framework-53ji) — A complete form building framework inspired by earlier work on Vue Formulate. [GitHub repo](https://github.com/formkit/formkit). 

Justin Schroeder   

[Stylo: An Open Source WYSIWYG Rich Text Editor for JavaScript](https://stylojs.com/) — Lightweight, no dependencies, and you can configure the default toolbar to suit your app's specific needs. 

David Dal Busco   

[More Cloud for Less Money](https://vultr.com/promo/try100?promo=100VULTROFFER&utm_source=jsweekly&utm_medium=syndication&utm_campaign=q122) — Vultr offers developers Cloud Compute instances as low as $2.50 per month. Try Vultr for 14 days with this free credit. 

Vultr sponsor   

[Beam: Node.js-Powered and GitHub-Inspired Message Board for Teams](https://planetscale.com/blog/introducing-beam) — Beam is a message board inspired by a similar proprietary system used for team communication at GitHub. [GitHub repo](https://github.com/planetscale/beam). 

PlanetScale   

[Stockfish.js: A Chess Engine](https://github.com/nmrugg/stockfish.js) — Stockfish is a popular chess engine [usually written in C++](https://github.com/official-stockfish/Stockfish) but this project brings it into JS contexts by way of WebAssembly. 

Nathan Rugg   

😆 [Elevator.js: An Old Fashioned 'Scroll to Top' Button](http://tholman.com/elevator.js/) — Just a bit of fun. 
Tim Holman   

[enum-xyz: JavaScript Enums using Proxies](https://github.com/chasefleming/enum-xyz) — Fun little reader-submitted idea. 
Chase Fleming         

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
