String replaceAll() Method
const str = "Backbencher sits at the Back";
const newStr = str.replaceAll("Back", "Front");
console.log(newStr); // "Frontbencher sits at the Front"
WeakRef and Finalizers
const callback = () => {
const aBigObj = new WeakRef({
name: "Backbencher",
});
console.log(aBigObj.deref().name);
};
(async function () {
await new Promise((resolve) => {
setTimeout(() => {
callback(); // Guaranteed to print "Backbencher"
resolve();
}, 2000);
});
await new Promise((resolve) => {
setTimeout(() => {
callback(); // No Gaurantee that "Backbencher" is printed
resolve();
}, 5000);
});
})();
Promise.any() and AggregateError
const p = new Promise((resolve, reject) => reject());
try {
(async function () {
const result = await Promise.any([p]);
console.log(result);
})();
} catch (error) {
console.log(error.errors);
}
Logical Assignment Operator
let x = 1;
let y = 2;
x &&= y;
x ||= y;
x ??= y;
Underscores as Numeric Seperator
const billion = 1000_000_000;
console.log(billion); // 1000000000