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:

Goodbye, messy data: An engineer’s guide to scalable data enrichment

Goodbye, messy data: An engineer’s guide to scalable data enrichment

Walk through building a data enrichment workflow that moves beyond simple lead gen to become a powerful internal tool for enterprises.

Alexandra Spalato
Oct 8, 2025 ⋅ 6 min read

DesignCoder and the future of AI-generated UI

From sketches to code in minutes, DesignCoder shows how AI-generated, hierarchy-aware UIs could change the way developers prototype and ship apps.

Rosario De Chiara
Oct 7, 2025 ⋅ 5 min read

Would You Use If() functions in CSS?

It’s 2025, and CSS finally thinks logically. The if() function brings real conditional styling — no hacks, no JS workarounds. Here’s how to use it right.

Ikeh Akinyemi
Oct 7, 2025 ⋅ 16 min read
Typescript or Zod for Validation?

TypeScript vs Zod: Clearing up validation confusion

Learn when to use TypeScript, Zod, or both for data validation. Avoid redundant checks and build safer, type-sound applications.

Alexander Godwin
Oct 6, 2025 ⋅ 3 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