The JavaScript family is ever-evolving and is set to launch new JavaScript features in June 2022. The ES2022 will be the 13th edition of features after it was initially launched in 1997. The ES2022 features that reach the stage 4 verification are added to the JavaScript family. Reaching Stage 4 means that the features have been approved by TC-39, cleared the testing stage, and have at least passed two implementations. Furthermore, ES2022 features that have crossed stage 3 and are only awaiting implementation might enter the ECMAScript.
Let’s get started!
- ES2022 features you must know!
- Conclusion
As a developer, you must know and understand the new JavaScript features to stay updated. Here is a list of new JavaScript features in Stage 4 and will be part of the JavaScript family from June 2022.
Asynchronous functions have been used in JavaScript for some time now. In the previous versions, developers could not declare the await keyword outside the asynchronous function. If done, it would show an error message. Now, you can declare the await operator even outside of the asynchronous functions and classes. This solves the synchronization issue. The modules are now capable of waiting for resources that require other modules to import them before rendering the code.
import {getUser} from ‘. /data/User’
let user=await getUser();
Remember, how you always had to invoke a constructor to declare a class field? Not anymore. Now you can declare the class field without calling the constructor.
class hello{
fields=0;
title;
}
This syntax will not give you an error message now.
Looking to declare a private class? You will be able to do this by just adding # as its prefix.
class hello{
fields=0;
#title;
}
Aren’t the new JavaScript features just amazing!
Other than the prototype, a static class field cannot be accessed in all instances of a class. The new addition of ES2022 features will give us the freedom to declare static class fields and private static features by using the keyword “static”.
class hello {
name;
static title=’here’;
static get title(){
return title;
}
}
The keyword “static” can be invoked for catching, fixed configurations and cloning objects.
This new, stage 4, ES2022 JavaScript feature will allow you to use the character “d” to express that you want the starting and ending indexes of the specified matched string. Previously this was not possible. You could only obtain indexing data in the process of string-matching operation.
To retrieve the list of matches
const animals=’Animals:cow,dog,horse’
const regex=/(cow)/gd;
const matches=[…fruits.matchAll(regex)];
matches[0]
In the previous versions, if you tried to access a public field that wasn’t declared - you would receive an undefined error. Similarly, if you tried to access a private field - you would get an error message.
ES2022 is at your rescue, making your life much easier. By using the “in” operator, you will get the flexibility to check if a field is present in a specific class or not. This feature will be made available even in the private classes.
class hello{
name;
#title;
get #title(){
return #title;
}
set #title(){
#title=null;
}
static hasTitle(obj1){
return #title in obj1;
}
}
Previously, square brackets were used to index or fetch specific elements in an array. The process was easy unless you had to conduct a backward iteration i.e. required negative indexing. In the case of negative indexing - you had to refer to the string length and index from there. This process has been simplified by the use of the .at() function.
array= [1.2.4.5]
console.log(array[array.length-1]);
console.log(array.at(-1));
In the case of positive indexing, the .at() will function exactly as square brackets. For negative indexing, the .at() function will start the iteration from the end.
This is a stage 3 ES2022 JavaScript feature that is expected to replace libraries like Moment.js. Temporal will substitute for broken Date object. Its functioning will be to the Unix timestamp function. The temporal function will be a global object and will serve as a top-of-the-class namespace for date and time API calls. The temporal function will encompass dates, time zones, calendars and times.
So we have learned about the new ES2022 JavaScript features that would improve your efficiency. These ES2022 JavaScript features are all set to be launched in June of 2022. However, these are all just expected features. The stage 4 features will definitely make it to the final JavaScript update. However, the stage 3 features, if not implemented well, might not be included in the ES2022 update.
These are the highly anticipated features of the all-new JavaScript ES2022 update. For more updates like these, visit Turing.
Resources:
https://inspiredwebdev.com/everything-new-in-es2022/
https://widgetcore.com/new-features-to-be-included-in-javascript-after-es-2022/
https://medium.com/@bsalwiczek/4-most-important-features-coming-in-es2022-that-you-should-know-about-f7e18c1bff9b
https://dev.to/jasmin/whats-new-in-es2022-1de6
https://exploringjs.com/impatient-js/ch_new-javascript-features.html
Tell us the skills you need and we'll find the best developer for you in days, not weeks.