ECMAScript 2025: Tre nyheter i JavaScript du bør lære deg
Den neste store oppdateringen til JavaScript – ECMAScript 2025 – ble offisielt godkjent forrige uke. Her er tre nyheter du bør vite om.

Juni hvert år kommer det en ny versjon av ECMAScript, språkstandarden som JavaScript er basert på.
Nå er endelig ECMAScript 2025 klar – og denne gangen er det en masse nytt, skriver nyhetsbrevet Bytes.dev.
Her er tre av de mest spennende nyhetene – du finner oversikt over alt som er nytt i den offisielle spesifikasjonen.
#1. Nye hjelpemetoder for iteratorer
De fleste JavaScript-utviklere er antagelig godt kjent med Array-metoder som .map() og .filter().
I ECMAScript 2025 får du nå en rekke metoder med lignende syntaks som fungerer med iteratorer. I motsetning til array-metoder, er disse late (lazy), noe som betyr at operasjonene bare utføres når neste verdi fra iteratoren etterspørres.
De nye hjelpemetodene for iteratorer er blant annet .map(), .filter(), .take(), .drop() og .toArray().
Her er et eksempel fra MDN på en iterator-funksjon som henter ut neste element i en Fibonacci-sekvens, og der man så bruker den nye .map()-hjelpemetoden for å opphøye hvert element med to (kvadrerer):
function* fibonacci() {
let current = 1;
let next = 1;
while (true) {
yield current;
[current, next] = [next, current + next];
}
}
const seq = fibonacci().map((x) => x ** 2);
console.log(seq.next().value); // 1
console.log(seq.next().value); // 1
console.log(seq.next().value); // 4
I dette eksempelet plukker vi ut de 10 første elementene som iteratoren genererer med take(10) før vi filtrerer ut alle oddetallene med filter() og deretter konverterer alt sammen til en array med toArray():
const array = fibonacci()
.take(10)
.filter((x) => x % 2 === 0)
.toArray();
console.log(array); // [2, 8, 34]
#2. Promise.try
Promise.try() er en ny metode som kan være nyttig når du jobber med API-er eller biblioteker som kanskje eller kanskje ikke returnerer en Promise eller kaster (throws) en feil.
Dette løses gjerne med try/catch på denne måten:
async function doSomething(action) {
try {
const result = await action();
console.log(result);
} catch (error) {
console.error(error);
} finally {
console.log("Done");
}
}
Den nye Promise.try()-metoden vil wrappe resultatet av kjøringen av en funksjon i en Promise. Dermed kan du forenkle koden ovenfor til dette:
function doSomething(action) {
return Promise.try(action)
.then((result) => console.log(result))
.catch((error) => console.error(error))
.finally(() => console.log("Done"));
}
#3. Nye Set-metoder
Set blir utvidet med en masse nye metoder som gjør det enklere å kombinere og sammenligne dem:
- Union(): Returnerer et nytt Set med alle unike elementer fra begge:
const evens = new Set([2, 4, 6, 8]);
const squares = new Set([1, 4, 9]);
console.log(evens.union(squares)); // Set(6) { 2, 4, 6, 8, 1, 9 }
- Intersection(): Returnerer et nytt sett med elementer som er felles i begge settene:
const odds = new Set([1, 3, 5, 7, 9]);
const squares = new Set([1, 4, 9]);
console.log(odds.intersection(squares)); // Set(2) { 1, 9 }
- Difference(): Returnerer et nytt sett med elementer som finnes i det første settet, men ikke i det andre.
- isSubsetOf(): Sjekker om alle elementer i det første settet finnes i det andre. Det er også en isSupersetOf()-metode som gjør det motsatte.
Det er også en masse annet nytt i ECMAScript 2025 – som blant annet nye funksjoner for regulære uttrykk (RegEx), "import-attributter" for enklere importering av blant annet JSON til JavaScript-filer, og mye mer.
Syntax-podcasten hadde en fin gjennomgang noen dager før ECMAScript 2025 ble lansert: