ECMAScript 2025
New Features in ES2025
Warning
These features are relatively new.
Older browsers may need an alternative code (Polyfill)
The RegExp.escape() Method
The RegExp.escape()
method returns a string where characters that belongs
to the regular expression syntax are escaped.
This makes it possible to treat characters like +, *, ?, ^, $, (, ), [, ], {, }, |, and \ literally, and not as part of a regular expression.
Example
Create a regular expression that matches the string "[*]":
// Escape a text for to use as a regular expression
const safe = RegExp.escape("[*]";
// Build a new reglar expression
const regex = new RegExp(safe);
// Text to replace within
const oldText = "[*] is a web school.";
// Perform the replace
const newText = oldText.match(regex, "W3Schools");
Try it Yourself »
RegExp.escape()
is supported all in modern browsers since May 2025:
Chrome 136 | Edge 136 | Firefox 134 | Safari 18.2 | Opera 121 |
Apr 2025 | May 2025 | Jan 2025 | Des 2024 | Jun 2025 |
Modules with Import Attributes
Syntax
import {names} from "module-name" with {key:"data"};
Examples
import config from "config.json" with {type:"json"};
import styles from "styles.css" with {type:"css"};
import data from "data.json" with {type:"json"};
Float16Array (Half-Precision-Float)
A Float16Array
is a TypedArray that stores 16-bit (half-precision)
floating-point numbers in the IEEE 754 half-precision format.
Float16Array requires half the memory of Float32Array
and a quarter of Float64Array
.
Example
const myArr = new Float16Array([1.5, 2.5, 3.5, 4.5]);
let bytes = myArr.BYTES_PER_ELEMENT;
let length = myArr.length;
Try it Yourself »
The Float16Array
object is supported in all modern browsers since June 2024:
Chrome 135 | Edge 135 | Firefox 129 | Safari 18.2 | Opera 120 |
Apr 2025 | Apr 2025 | Aug 2024 | Des 2024 | May 2025 |
JavaScript Set union()
The union()
method returns the union of two sets.
The union()
method returns a new set containing the elements which are in this set,
or in the argument set, or in both:
Example
const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);
const C = A.union(B);
Try it Yourself »
The union()
method is supported in all modern browsers since June 2024:
Chrome 122 | Edge 122 | Firefox 127 | Safari 17 | Opera 108 |
Feb 2024 | Feb 2024 | Jun 2024 | Sep 2023 | Mar 2024 |
JavaScript Set intersection()
The intersection()
method returns the intersection of two sets.
The intersection()
method returns a new set containing the elements which are in this set
and in the argument set:
Example
const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);
const C = A.intersection(B);
Try it Yourself »
The intersection()
method is supported in all modern browsers since June 2024:
Chrome 122 | Edge 122 | Firefox 127 | Safari 17 | Opera 108 |
Feb 2024 | Feb 2024 | Jun 2024 | Sep 2023 | Mar 2024 |
JavaScript Set difference()
The difference()
method returns the difference between two sets.
The difference()
method returns a new set containing elements which are in this set
but not in the argument set:
Example
const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);
const C = A.difference(B);
Try it Yourself »
The difference()
method is supported in all modern browsers since June 2024:
Chrome 122 | Edge 122 | Firefox 127 | Safari 17 | Opera 108 |
Feb 2024 | Feb 2024 | Jun 2024 | Sep 2023 | Mar 2024 |
JavaScript Set symmetricDifference()
The symmetricDifference()
method returns the symmetric difference between to sets.
The symmetricDifference()
method returns a new set containing elements which are in this set
or in the argument set, but not in both:
Example
const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);
const C = A.symetricDifference(B);
Try it Yourself »
The symmetricDifference()
method is supported in all modern browsers since June 2024:
Chrome 122 | Edge 122 | Firefox 127 | Safari 17 | Opera 108 |
Feb 2024 | Feb 2024 | Jun 2024 | Sep 2023 | Mar 2024 |
JavaScript Set isSubsetOf()
The isSubsetOf()
method returns true
if all elements in this set are elements in the argument set:
Example
const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);
let answer = A.isSubsetOf(B);
Try it Yourself »
The isSubsetOf()
method is supported in all modern browsers since June 2024:
Chrome 122 | Edge 122 | Firefox 127 | Safari 17 | Opera 108 |
Feb 2024 | Feb 2024 | Jun 2024 | Sep 2023 | Mar 2024 |
JavaScript Set isSupersetOf()
The isSupersetOf()
method returns true
if all elements in the argument set are also in this set:
Example
const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);
let answer = A.isSupersetOf(B);
Try it Yourself »
The isSupersetOf()
method is supported in all modern browsers since June 2024:
Chrome 122 | Edge 122 | Firefox 127 | Safari 17 | Opera 108 |
Feb 2024 | Feb 2024 | Jun 2024 | Sep 2023 | Mar 2024 |
JavaScript Set isDisjointFrom()
The isDisjointFrom()
method returns true
if this set has no elements in common with the argument set:
Example
const A = new Set(['a','b','c']);
const B = new Set(['b','c','d']);
let answer = A.isDisjointFrom(B);
Try it Yourself »
The Set.isDisjointFrom()
method is supported in all modern browsers since June 2024:
Chrome 122 | Edge 122 | Firefox 127 | Safari 17 | Opera 108 |
Feb 2024 | Feb 2024 | Jun 2024 | Sep 2023 | Mar 2024 |