2021-03-26
1232
#vanilla javascript
Linda Ikechukwu
39897
Mar 26, 2021 ⋅ 4 min read

New ES2021 features you may have missed

Linda Ikechukwu Frontend developer. Writer. Community Strategist. Building web interfaces that connect products to their target users.

Recent posts:

chatgpt atlas for developers featured image

How to use ChatGPT Atlas for frontend debugging, testing, and more

Learn how ChatGPT’s new browser Atlas fits into a frontend developer’s toolkit, including the debugging and testing process.

Emmanuel John
Nov 20, 2025 ⋅ 10 min read

Why composition – not reactivity – leads UI’s future

Users don’t think in terms of frontend or backend; they just see features. This article explores why composition, not reactivity, is becoming the core organizing idea in modern UI architecture.

Oscar Jite-Orimiono
Nov 20, 2025 ⋅ 6 min read
the replay nov 19

The Replay (11/19/25): React 19.2 async, GitHub Octoverse, and more

Discover what’s new in The Replay, LogRocket’s newsletter for dev and engineering leaders, in the November 19th issue.

Matt MacCormack
Nov 19, 2025 ⋅ 33 sec read

React 19.2: The async shift is finally here

Jack Herrington writes about how React 19.2 rebuilds async handling from the ground up with use(), , useTransition(), and now View Transitions.

Jack Herrington
Nov 19, 2025 ⋅ 5 min read
View all posts

3 Replies to "New ES2021 features you may have missed"

  1. Hi, thanks for writing this good article, I love it.

    However I want to propose a correction for Promise.all in Promise.any part, The Promise.all should be reject if any of the promise rejected and resolve if all promise resolved.

    https://developer.mozilla.org/en-
    US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

    Keep writing good stuff.

  2. “`
    const promise1 = new Promise((resolve) => setTimeout((resolve) => resolve, 300, ‘faster’);
    const promise2 = new Promise((reject) => setTimeout( (reject) =>reject, 100,”fastest”)
    const promise3 = new Promise((resolve) => setTimeout( (resolve) => resolve,700,’fast’);
    “`

    This promise code is just completely wrong, even if you fix the missing closing brackets. Your `setTimeout` calls take a `resolve => resolve` callback, but this reject is not the one from the promise, it’s an internal parameter of the callback. You might as well have passed the callback `foo => foo` , and it will have the same result.

    `promise2` even renames the “resolve” parameter as `reject`. Further adding to the wrongness.

    I believe you meant:

    “`
    const promise2 = new Promise((_, reject) => setTimeout(reject, 100,”fastest”));
    “`

Leave a Reply

Hey there, want to help make our blog better?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now