Smashing Magazine - All Good Things JavaScript

Finding memory leaks with JavaScript, Internationalization API, security issues and understanding useMemo.Issue #380 November 22, 2022 View in the browser 💨

Smashing Newsletter

Sveiki Smashing Friends,

Today, we’d love to feature a few useful front-end articles and tools for front-end developers and engineers. From finding memory leaks in JavaScript and understanding how JavaScript works under the hood to Internationalization API and a deep-dive into browser cookies.

We’ve just announced SmashingConf Front-End 🇺🇸, our brand new SmashingConf in SF on May 23–26, 2023 — entirely focused on state-of-the-art front-end. From accessibility and future-proof CSS to well-crafted JavaScript and cutting-edge web performance. Get your early-bird-ticket!

SmashingConf Front-End and SmashingConf Freiburg coming up in 2023

And if you are into design patterns, accessibility and design systems, we’ve also announced SmashingConf Freiburg 🇩🇪, taking place at our hometown Freiburg on Sep 4–6, 2023 — with new adventures into everything front-end, from code to design. We’d love to see you there!

Vitaly (@vitalyf)


1. JavaScript Array Methods Cheatsheet

JavaScript array methods can be overwhelming. How can you make sure you’re using the right approach? How do you figure out which array to use and when? While a lot of array methods cheatsheets list all array methods, James Sinclair chose a different approach.

A Civilised Guide To JavaScript Array Methods

Instead of listing all available array methods, James’ “Civilised Guide to JavaScript Array Methods” starts with the problem you’re trying to solve and then gently guides you to the right method. You can get the guide by subscribing to updates from James which he sends out when he publishes new posts or to share quick tips and best practices. (cm)


1. Understanding Browser Cookies

Have you ever dealt with cookies other than clicking those cookie notifications you get when visiting a website? If not, Hui Jing Chen wrote a great introduction to help you take your first steps in the world of browser cookies.

Understanding browser cookies

In her blog post, Hui Jing explores everything you need to know about how browser cookies work. She dives deeper into what cookies do, how cookie attributes influence a cookie’s behavior, and, of course, how to create a cookie. The focus lies on cookies on the client side. (cm)


From our sponsor

Cloudways: Your Next-Gen Cloud Hosting Platform For Better UX And Performance

Cloudways: Your Next-Gen Cloud Hosting Platform For Better UX And Performance
Supercharged cloud hosting helps you improve your user experience. Join 79,727+ businesses that trust Cloudways as their managed hosting platform for incredible speed, security & 24/7 expert support. Use promo code BFCM4030 for 40% off for 4 months and 30 FREE migrations. Start your free trial today!


3. Auditing And Sandboxing Made Easy

If you’re looking for an easy auditing and sandboxing solution to keep your project safe from hand-crafted, zero-day vulnerabilities, Sandworm might be for you. Sandworm watches lower-level APIs like the Node VM and browser APIs like DOM manipulation, fetch, etc., and lets you know when an npm package unexpectedly accesses these APIs. The analysis happens dynamically in the runtime, so Sandworm knows what happens when it happens.

Snyk Advisor

Another useful tool to help reduce security risks comes from Snyk. Their dependency-check checks which modules you use in your code and makes sure they are listed as dependencies in your package.json. To ensure you’re using the healthiest npm packages, it scans all packages for vulnerabilities and provides automated fix advice.

Speaking of healthy npm packages: Snyk Advisor makes it easy to search and compare over 1 million open-source packages to find the healthiest package based on criteria like security, popularity, maintenance, and community. (cm)


4. Upcoming Online Workshops

That’s right! We run online workshops on front-end and design, be it accessibility, performance, or design patterns. In fact, we have a couple of workshops coming up soon, and we thought that, you know, you might want to join in as well.

Smashing Online Events
With online workshops, we aim to give you the same experience and access to experts as in an in-person workshop from wherever you are.

As always, here’s an overview of our upcoming workshops:


5. JavaScript Visualized

JavaScript can be confusing. To make complicated JavaScript concepts easier to grasp, Lydia Hallie decided to take a visual approach to explaining them — with GIFs.

JavaScript Visualized

Lydia’s seven-part article series JavaScript Visualized visualizes event loop, hoisting, scope, the JavaScript engine, prototypal inheritance, generators and iterators, as well as promises and async/await. No matter if you’ve come across one of the terms after googling an annoying bug and want to make sense of it for good or if you’re a visual learner who needs a practical example to better understand the concepts, Lydia’s guide has got your back. (cm)


6. Language-Sensitive Formatting

11/29/2022, 7:00:00 PM or 29.11.2022, 19:00:00? €100.00 or 100,00 €? There’s no right or wrong, only local differences depending on language and country. That’s where the ECMAScript Internationalization API comes in. Available under the namespace Intl in JavaScript, it provides language-sensitive functionality to help us deal with string formatting, number formatting, and date and time formatting.

Intl Explorer

A handy interactive tool that makes the API a lot more comprehensible comes from Jesper Orb: Intl Explorer. Choose a formatter from the menu or visit the playground, and you can start experimenting with the API. Whether it’s currency, date, time, plural rules, collators, or segmenters, the tool helps you find the output your project calls for. To use it, you can copy-and-paste the code snippet to your clipboard with just a click. One for the bookmarks. (cm)


7. Finding Memory Leaks

Performance issues in web apps are noticed immediately by users. Not so memory leaks. They aren’t immediately perceivable but eat up a chunk of memory at a time, making subsequent interactions slower and less responsive. And because they are so hard to spot, root-causing them in production is difficult, too.

MemLab

To help developers address this issue, the Engineering team at Meta built MemLab, an open-source memory testing framework that automates JavaScript memory leak detection. MemLab finds memory leaks by running a headless browser through predefined test scenarios and analyzing the JavaScript heap snapshots. If you want to give it a try, you can install MemLab through npm or build it from the GitHub repo. (cm)


From our sponsor

Northwestern’s Online MS in Information Design and Strategy

Northwestern’s Online MS in Information Design and Strategy
Prepare for a range of dynamic communication roles and build the skills needed to lead communication strategy, translate complex data, and drive user interactions. Choose from specializations in content strategy, UX/UI, communication with data, and learning design. Learn more.


8. useMemo And useCallback Explained

Are you struggling to make sense of useMemo and useCallback? No worries, you’re not alone. Josh W. Comeau helps clear up the confusion.

Understanding useMemo and useCallback

In his blog post “Understanding useMemo and useCallback,” Josh dives deep into how useMemo and useCallback help us optimize re-renders. He explains in detail how they work, why they are useful, and how to get the most out of them. You’ll also learn more about potential use cases. A comprehensive explanation with lots of practical examples and strategies. (cm)


9. New On Smashing Job Board


10. Recent Smashing Articles


That’s All, Folks!

Thank you so much for reading and for your support in helping us keep the web dev and design community strong with our newsletter. See you next time!


This newsletter issue was written and edited by Cosima Mielke (cm), Vitaly Friedman (vf) and Iris Lješnjanin (il).


Sent to truly smashing readers via Mailchimp.
We sincerely appreciate your kind support. You
rock.

Follow us on Twitter Join us on Facebook

unsubscribe update preferences view in your browser

Older messages

#379: Web Accessibility

Tuesday, November 15, 2022

With focus styles, WCAG 2.2, accessible PDFs, accessible color palettes and how to document and test accessibility. Issue #379 • November 15, 2022 • View in the browser 💨 Smashing Newsletter Hello

#378: Interface Design

Tuesday, November 8, 2022

With drag'n'drop UX, blend modes, design principles, forced colors and useful Figma plugins. Issue #378• November 8, 2022 • View in the browser 💨 Smashing Newsletter Hyvää päivää Smashing

#377: UX Writing

Tuesday, November 1, 2022

With UX writing guidelines, tools, library, inspiration and better error messages. Issue #377• November 1, 2022 • View in the browser 💨 Smashing Newsletter Howdy Smashing Friends, Words matter. They

#376: Design Systems

Tuesday, October 25, 2022

With accessible design systems, Figma kits and real-life examples. Issue #376 • October 25, 2022 • View in the browser 💨 Smashing Newsletter Dobryi vechir Smashing Friends, There is a moment in time

Meet “Understanding Privacy”, a new Smashing Book

Thursday, October 20, 2022

Meet “Understanding Privacy”, our new book on privacy, by Heather Burns. What privacy really is, beyond scary headlines. Understanding Privacy • View in the browser 💨 Understanding Privacy by Heather

You Might Also Like

Want to Scale Your Firm in 2025? Start Here

Thursday, January 2, 2025

View in your browser | Update your preferences ADPro Build Your Best Team Yet A new calendar year presents an opportunity to wipe the slate clean, and your approach, whether slapdash or carefully

Our Must-Reads of 2024

Tuesday, December 31, 2024

View in your browser | Update your preferences ADPro Year in Review Well, we made it. It's the last day of 2024, so today, we're taking a walk down memory lane to bring you some of our

Accessibility Weekly #429: Broken Frames

Monday, December 30, 2024

December 30, 2024 • Issue #429 View this issue online or browse the full issue archive. Featured: Navigating imperfect accessibility frameworks for trauma-informed outcomes "So what is it then? Am

Top issues from 2024

Sunday, December 29, 2024

Issue 226: Looking back at the most resonating topics ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

At Home With Gloria Steinem

Thursday, December 26, 2024

View in your browser | Update your preferences ADPro Glory, Gloria Every year our AD100 honorees fill out a survey of projects that they're working on. A year or so ago, longtime AD100 designer

Celeb Homes at the Holidays—and a Few More Things to Make You Merry

Tuesday, December 24, 2024

View in your browser | Update your preferences ADPro Holiday Cheer Whether your taste leans traditional, modern, or all-out extravagant, AD is rife with inspiration for your holiday. In the spirit of

#488: Fun And Useful Gems

Tuesday, December 24, 2024

Radio garden, Zoom backgrounds, visual history of the alphabet and fun interactive experiences. Issue #488 • Dec 24, 2024 • View in the browser Smashing Newsletter Hello Smashing Friends, As we are

Accessibility Weekly #428: Putting AI to the (Accessibility) Test

Monday, December 23, 2024

December 23, 2024 • Issue #428 View this issue online or browse the full issue archive. Hey accessibility friends! It's the time of year where news and information slows down as many people take

2024 magic moments

Sunday, December 22, 2024

Issue 225: The year from my personal lens ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Planning mode

Friday, December 20, 2024

Lessons from our first-ever annual planning sprint ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏