DEV Community

Cover image for Upcoming JavaScript Features You Should Know About

Upcoming JavaScript Features You Should Know About

Max Prilutskiy on May 30, 2025

After 20 years of writing JavaScript, I've seen many changes - from callback hell to async/await. But the upcoming JavaScript features will transfo...
Collapse
 
vrcprl profile image
Veronica Prilutskaya 🌱

Another great article, Max! Thanks for sharing!

Love the new pipeline operator (|>) - the code looks so clean!

Collapse
 
maxprilutskiy profile image
Max Prilutskiy

we're moving parts of the codebase to use it now. it's great!

Collapse
 
ryanguitar profile image
Ryan Els

Cool 😎 👌

Collapse
 
steven_dix_755c2b861b6d92 profile image
Steven Dix

I don't think i agree with the pipeline operator being as useful however, or maybe i just have an issue with the example as it seems very apples to oranges. It's displayed that it's an alternative to a set of nested functions but tbh if i was creating functions to be chained ( like how Arrays have ). I would just do this:

export class User {
  private user: User;

  constructor(user: User) {
    this.user = user;
  }

  static enrichUserProfile() {
    /* do something and amend this.user */
    return this;
  }

  static normalizeData() {
    /* do something and amend this.user */
    return this;
  }

  static validateUser() {
    /* do something and amend this.user */
    return this;
  }
}
Enter fullscreen mode Exit fullscreen mode

and i would then argue that just having User(ourUser).enrichUserProfile().normalizeData().validateUser(). saveToDatabase()

Is nicer than a |> between each method, and needing to polyfill for earlier versions.

Collapse
 
framemuse profile image
Valery Zinchenko

In case of a class build composition, you can't use other methods in the build chain, but with pipeline - you can.

Collapse
 
danibrear profile image
Dani Brear

Been writing elixir for 6 months and these are all things I was thinking “wow, this would be cool if I could do in JS”. So cool to see the proposals coming down the pipe (pun not intended but appreciated)

Collapse
 
dantman profile image
Daniel Friesen

I live that Temporal is finally becoming a thing. Though it doesn't feel right to call the article "upcoming" when it's talking about some proposals that are in stage 2 and 1 and were in that stage last time I checked ages ago. I'd really like to see some progress to be excited about, like Temporal, them an article would be exciting.

Collapse
 
dotallio profile image
Dotallio

This was packed with so many practical examples, love it! For me, the pipeline operator is a total game changer for making workflows readable, but pattern matching is right up there too. Have you run into any gotchas using the Babel plugin in bigger projects?

Collapse
 
jswhisperer profile image
Greg, The JavaScript Whisperer

Really nice article! I learnt some new tricks.
to me I think the gold star is Temporal API

I'm not sold on the pipeline operator, I'm on the fence about it, I kinda like the indentation of nested functions to visualise whats going on; and I think often it might be a code smell hint to refactor to async await promises if your code becomes nested like that. 🤷‍♂️

Collapse
 
thetos_ profile image
Thetos

I'm pretty sure the pipeline operator proposal has moved to a slightly different syntax with a placeholder symbol (like Hack) instead of these needing unary functions (like F#), so that it could play better with async/await among other things

Collapse
 
nevodavid profile image
Nevo David

Pretty cool seeing JavaScript finally fix a lot of old headaches - kinda pumped to mess with some of this now tbh.

Collapse
 
jkalandarov profile image
Jasurbek Kalandarov

When all languages try to transition to js syntax, js wants to adopt PHP syntax??

Collapse
 
alkawero_ef342b4b2a1d5995 profile image
alkawero

do you mean pipeline operator? it is not from PHP, F# was the first use it

Collapse
 
shruti_saraswat_c258d5934 profile image
Shruti Saraswat

Really great post!!

Collapse
 
michael_liang_0208 profile image
Michael Liang

Great post!

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
maxprilutskiy profile image
Max Prilutskiy

Luxon is nice! Moment.js is still in lots of codebases though.

Collapse
 
eyeguy_studious_5996cb8f7 profile image
eyeguy studious

excited for new features
really good article mate👍🧡

Collapse
 
parag_nandy_roy profile image
Parag Nandy Roy

Hey thanks for this....

Collapse
 
instascraper profile image
InstaScraper

Highly recommended!!!

Collapse
 
soleng profile image
na.perruchot

Upcoming ? When ? It's in phase 1 from 5y...

Collapse
 
leob profile image
leob

Good writeup ... "upcoming" features - when, which ES version? Are all these proposals already 'final'? Would you 'really' recommend using these (with polyfills etc) 'in production'?

Collapse
 
alexus85 profile image
Alex Petrik

wake me up, when this could be used without all those polyfills :)

Collapse
 
ryanguitar profile image
Ryan Els

Great article, Max 😁👍

I am so happy the Temporal API has finally landed.

The pipeline operator also looks very cool too.

Soon we won’t need to use frameworks anymore 😉

Collapse
 
melroy_vandenberg_97546 profile image
Melroy van den Berg

I also like the vanilla decorators as well. Which indeed at some point you won't need frameworks anymore. Or ideally the framework you are using is just using the native js solutions. So the framework won't need the slug it currently need to achieve the same functionality.