🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to JavaScript Notes
Topic #128

JS 2022


New Features in JavaScript 2022

Supported in all modern browsers since March 2023.

Col 1 Col 2 Col 3
Feature Description
Array at() Returns an indexed element from an array
String at() Returns an indexed element from an string
RegExp /d Perform substring matches
Object.hasOwn() Check if a property is the own property of an object
error.cause Lets you specify the reason behind an error
await import Lets JavasSript modules wait for resources that require import before running.
Class field declarations Allows for properties to be defined directly within a class
Private methods and fields Allows for private properties (#method and #field)

Browser Support

ECMAScript 2022 is supported in all modern browsers since March 2023:


JavaScript Array at()

ES2022 intoduced the array method at():

Examples

const fruits = ["Banana", "Orange", "Apple", "Mango"];

let fruit = fruits.at(2);

The at() method returns an indexed element from an array.

The at() method returns the same as [].

The at() method is supported in all modern browsers since March 2022:

Note: Many languages allows negative bracket indexing like [-1] to access elements from the end of an object / array / string. This is not possible in JavaScript, because [] is used for accessing both arrays and objects. obj[-1] refers to the value of key -1, not to the last property of the object. The at() method was introduced in ES2022 to solve this problem.


JavaScript String at()

ES2022 intoduced the string method at():

Examples

const name = "W3Schools";

let letter = name.at(2);

The at() method returns an indexed element from an string.

The at() method returns the same as [].


RegExp d Modifier

ES2022 added the /d modifier to express the start and end of the match.

Example

let text = "aaaabb";

let result = text.match(/(aa)(bb)/d);

RegExp Modifiers are used to spescfy case-insensitive, and other global searches:

Modifier Description Try it
i Perform case-insensitive matching
g Perform a global match (find all)
m Perform multiline matching
d Perform substring matches (New in ES2022)

Object hasOwn

ES2022 provides a safe way to check if a property is the own property of an object.

Object.hasOwn() is similar to Object.hasOwnProperty() but supports all object types.

Example

Object.hasOwn(myObject, age)

Error Cause

Starting from ECMAScript 2022, the Error constructor (and its subclasses like TypeError, SyntaxError, etc.) supports an optional {cause} property.

This allows you to create chained errors - where one error includes another as its cause.

Example (before)

try {

  // Create a JSON parse failure

  JSON.parse("blablablabla");

} catch(err) {

  let text = err.name + " " + err.message;

}

Example (now)

try {

  try {

    // Create a JSON parse failure

    JSON.parse("blablablabla");

  } catch(err) {

    // Create a new error and include the original one as the cause

    throw new Error("Failed to load JSON", {cause:err});

  }

} catch(err){

  let text = err.name + " " + err.message;

  document.getElementById("demo").innerHTML = text;

}

JavaScript await import

JavasSript modules can now wait for resources that require import before running:

import {myData} from './myData.js';

const data = await myData();

JavaScript Class Field Declarations

class Hello {

  counter = 0; // Class field

}

const myClass = new Hello();

let x = myClass.counter;

JavaScript Private Methods and Fields

class Hello {

  #counter = 0;  // Private field

  #myMethod() {} // Private method

}

const myClass = new Hello();

let x = myClass.#counter;  // Error

myClass.#myMethod();      // Error

Want to go beyond the notes?

Join CodingNow 2.0's JavaScript course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

JS 2022 – FAQs

Quick answers about learning JS 2022 in JavaScript.

This free note from CodingNow 2.0 explains JS 2022 in JavaScript — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every JavaScript topic on CodingNow 2.0, including JS 2022, is 100% free with no signup required.
With focused practice, most students grasp JS 2022 in 1–3 days from these notes; pairing it with CodingNow 2.0's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now