---
title: "A Closer Look at Top-Level `await`"
publication: "JavaScript Weekly"
issue: 458
published_at: "2019-10-11"
canonical_url: "https://javascriptweekly.com/issues/458"
---

This week's JavaScript news       

#458 — October 11, 2019 

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

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/qvvsri8yahc7an9goe4f.jpg)](https://github.com/jwilber/roughViz)   

[roughViz.js: Create Hand-Drawn Styled Charts in the Browser](https://github.com/jwilber/roughViz) — Supports bar, donut, line, pie and scatter charts for now and uses [Rough.js](https://roughjs.com/) under the hood which provides the same sort of thing for drawing shapes generally. 

Jared Wilber   

[A Closer Look at Top-Level `await`](https://v8.dev/features/top-level-await) — Two weeks ago we mentioned that [V8 is adding support for ‘top level’ `await`](https://chromium.googlesource.com/v8/v8.git/+/0ceee9ad28c21bc4971fb237cf87eb742fc787b8%5E%21/) – here, you can learn a bit more about what it means at a practical level, some use cases, and how it works in modules too. 

Myles Borins   [![\](https://copm.s3.amazonaws.com/b55bc7b7.jpg)](https://frontendmasters.com/courses/functional-js-fundamentals/?utm_source=jsweekly&utm_medium=email&utm_campaign=functionalhardparts) 

[New Course: Hard Parts of Functional JavaScript Fundamentals 🧡](https://frontendmasters.com/courses/functional-js-fundamentals/?utm_source=jsweekly&utm_medium=email&utm_campaign=functionalhardparts) — Explore the increasingly popular paradigm of functional programming in JavaScript. Go under the hood of powerful techniques like: Higher Order Functions, Function Composition, Pure Functions, and Immutability of State. 

Frontend Masters sponsor   

[is-website-vulnerable: Find Known Vulnerabilities in a Site's Frontend Libraries](https://github.com/lirantal/is-website-vulnerable) — This is a neat tool, especially as `npx` lets you run it right now as simply as `npx is-website-vulnerable http://....`. Give it a try on your own site. 

Liran Tal   

[Vue Next: A Sneak, 'Pre-Alpha' Peek at Vue.js 3](https://github.com/vuejs/vue-next) — This isn’t for production or anything but if you want to get a feel for what Vue.js 3.0 is going to be like, this is the codebase for you. 

Vue.js   

[Reasons to Learn Redux as a JavaScript Developer](https://www.robinwieruch.de/redux-javascript) — _“I believe Redux makes everyone a better JavaScript developer,”_ says the author who is clearly a fan of the popular state management approach. 

Robin Wieruch   

[The JS13kGames Winners](https://js13kgames.com/#winners) — Js13kGames is a frequent JavaScript coding competition with a total file size limit of 13KB. A few weeks back, we linked to [all 245 entries](https://js13kgames.com/entries/2019) but now there are winners. It blows me away just what you folks are making and these games are fun to play. 

Js13kGames  

💻 Jobs  

[React JS Developer (Remote)](https://www.komoot.com/jobs/reactjs-developer) — We’re looking for an ambitious React developer to help us make komoot the place to go to plan outdoor adventures. 

KOMOOT   

[It’s Not Rocket Science . . . or Is It?](https://job.careersjs.com/8p0) — Our client is looking for a programmer with out-of-this-world skills and an attention to detail that would make NASA sit up and take notice. 

CareersJS   

[Find A 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 specializes in tech roles and is completely free for job seekers. Create a profile to get started. 

Vettery  

📘 Articles & Tutorials  

[JavaScript Naming Conventions](https://www.robinwieruch.de/javascript-naming-conventions) — An introduction to ‘common sense’ conventions around naming variables, classes, functions, and more. 

Robin Wieruch   

[Build a Dependency Graph Profiler in JavaScript](https://blog.bitsrc.io/build-a-dependency-graph-profiler-in-js-caf087ce08ea) — Sadly the code is just giant screenshots, but it’s neat to see an approach to doing this. 

Chidume Nnamdi   

[Build a Customizable JavaScript Data Grid in Minutes](https://www.grapecity.com/blogs/build-a-javascript-data-grid-in-minutes?utm_source=JavaScriptWeekly&utm_medium=Wijmo-10-11-2019-blogplacement&utm_campaign=CooperPress-Fall-2019) — Create a JavaScript data grid in under 5 minutes. You'll also find resources for building in Angular, Vue, and React. 

Wijmo by GrapeCity sponsor   

[Face Detection Using `face-api.js`](https://t.co/zDFjIqlw4V) — face-api.js is built on top of Tensorflow.js and provides us with face detection, face recognition and face landmark detection features. 

Deepak Gupta   

[The V8 Engine and JavaScript Optimization Tips](https://alligator.io/js/v8-engine/) — Bear in mind that a problem with such tips can be that V8 eventually optimizes a previously slow case and your ‘optimized’ approach is then slower than the old way :-) 

Paul Ryan   

[Quick Intro to Using Svelte to Create a Native Mobile App](https://www.nativescript.org/blog/quick-intro-to-using-svelte-to-create-a-native-mobile-app) — Considerations involved in building a native app using the Svelte framework with NativeScript. 

Rob Lauer   

[Retro Nostalgia and Why My New Website Looks Like Windows 98](https://ash.ms/2019-10-02/retro-website-launch/) — This developer was feeling _“particularly nostalgic for the days of Geocities and floppy disks”_ so created a new (well-realised) Windows 98-style personal site paying homage to such an ‘idealized past’. [Here’s the Preact-based UI library behind it](https://github.com/ashkyd/ui95). 

Ash Kyd   

[How to Build Application Search with React and Elastic App Search](https://www.elastic.co/blog/how-to-build-application-search-with-react-and-elastic-app-search?ultron=react-and-elastic-app-search-blog&blade=cooperpress-brief-oct-11&hulk=cpc) 

elastic.co sponsor   

[Making the `switch => object` Pattern Work in TypeScript](https://maxburson.com/switch-object-pattern-with-typescript/) 

Maxwell Burson   

[17 Examples of Using Array and Object Destructuring](https://buginit.com/javascript/javascript-destructuring-es6-the-complete-guide/) 

Rajnish Rajput  

🔧 Code & Tools  

[Sinuous: A(nother) Small, Fast, Reactive UI Library](https://github.com/luwes/sinuous) — After all, you never know what’s going to be the next React.. This does have a nice feel to it though and was built to be used in Vimeo’s video player. 

Wesley Luyten   

[React Hook Form: Simple, Extensible React Form Validation](https://react-hook-form.com/) — It’s not just an interesting project, but it has one of the best [project homepages](https://react-hook-form.com/) I’ve seen too, complete with code comparisons with similar libraries. [GitHub repo](https://github.com/react-hook-form/react-hook-form). 

Blue Bill   

[A Much Faster Way to Debug Code Than with Breakpoints or `console.log`](https://wallabyjs.com/?utm_source=javascriptweekly&utm_medium=sponsored_newsletter&utm_campaign=javascriptweekly&utm_content=javascriptweekly) — 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   

[Moveable: A Library for Dragging, Resizing, Scaling and More](https://github.com/daybrush/moveable) — If you want to manipulate an element in any way (warping, pinching, rotating, etc) this library can probably help. [Demo here](https://daybrush.com/moveable/). 

Daybrush (Younkue Choi)   

[Library Detector: A Chrome Extension That Detects JavaScript Libraries](https://github.com/johnmichel/Library-Detector-for-Chrome) — A browser extension that detects a variety of different frontend libraries and frameworks. Open source or [installable here](https://chrome.google.com/webstore/detail/library-detector/cgaocdmhkmfnkdkbnckgmpopcbpaaejo). 

John Michel   

[Ferrum: Get Some _Rust_ Features in JavaScript](https://github.com/adobe/ferrum) — If you’ve been charmed by the [Rust language](https://www.rust-lang.org/), this brings a few of its ideas back to JavaScript, including traits and lazy sequence processing. 

Adobe, Inc.   

[vue-treeselect: A Multi-Select Vue.js Component with Nested Options Support](https://github.com/riophae/vue-treeselect) 

Fangzhou Li     

⚡️ Quick Releases 

- [Nock 11.4](https://github.com/nock/nock) — HTTP server mocking in Node.js.
- [XMPP.js 0.8](https://github.com/xmppjs/xmpp.js) — XMPP client library.
- [ML.js 5.1](https://github.com/mljs/ml) — Machine learning tools.
- [TUI Grid 4.6.0](https://github.com/nhn/tui.grid/releases/tag/v4.6.0) — Powerful grid control.           

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
