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:

daisyUI 5 is here: What’s new and what to expect

Explore daisyUI 5’s new features, performance upgrades, and theming engine built for Tailwind CSS 4 developers.

Ikeh Akinyemi
Aug 25, 2025 â‹… 8 min read
Why Kimi K2 is a frontend game-changer

Agentic AI for 5x less: Why Kimi K2 is a frontend game-changer

Kimi K2 doesn’t just tell you what to write or how to solve a problem; it writes the code, executes the tasks, and gets stuff done.

Chizaram Ken
Aug 22, 2025 â‹… 8 min read
Gemini CLI vs Codex CLI: A Comparative Analysis

Does Gemini CLI fall short? Here’s how Codex compares

Compare Codex CLI vs Gemini CLI for real-world coding tasks. See strengths, weaknesses, and which AI CLI fits your developer workflow best.

Emmanuel John
Aug 20, 2025 â‹… 8 min read
Is Next.js Still Developer-Friendly?

Is Next.js still developer-friendly?

The question isn’t whether Next.js is good or bad; it’s whether the productivity gains are worth the complexity tax.

Chizaram Ken
Aug 20, 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