What’s New in ECMAScript 2025
June 30, 2025What’s New in ECMAScript 2025
On June 25, 2025, Ecma International officially approved ES2025, adding several useful features:
1. 📦 Import Attributes & JSON Modules
You can now import JSON directly with type annotations:
// Static import
import config from './config.json' with { type: 'json' };
// Dynamic import
const cfg = await import('./config.json', { with: { type: 'json' } });
console.log(cfg.default);
2. Iterator Helper Methods
New chaining helpers on iterators:
const arr = ['a','', 'b', '', 'c', '', 'd'];
const result = arr.values()
.filter(x => x.length > 0)
.drop(1)
.take(2)
.map(x => `=${x}=`)
.toArray();
// result: ['=b=', '=c=']
3. New Set Methods
Set operations become built-in:
const a = new Set(['a','b','c']);
const b = new Set(['b','c','d']);
console.log([...a.union(b)]); // ['a','b','c','d']
console.log(a.isSubsetOf(b)); // false
4. RegExp.escape() & Pattern Modifiers
const safe = RegExp.escape('hello?');
// inline flags example
/^x(?i:HELLO)x$/.test('xHELLOx'); // true
/^x(?i:HELLO)x$/.test('xhellox'); // true
5. Duplicate Named Capture Groups
const re = /(?a+)|(?b+)/v;
console.log(re.exec('aaa').groups.chars); // 'aaa'
console.log(re.exec('bb').groups.chars); // 'bb'
6. Promise.try()
Promise.try(() => {
const x = syncThatMightThrow();
return asyncWork(x);
}).then(...).catch(...);
7. float16 Support
Now built-in: Float16Array, DataView.getFloat16/setFloat16, and Math.f16round().
Blog
Jun 26, 2025
CSS Specificity: Cascade Layers vs BEM vs Utility Classes This article compares three approaches to managing CSS specificity — BEM, utility‑f...
Jul 27, 2025
Here’s a complete breakdown of essential tools to level up your Laravel development: Inertia.js v2, View Creators, and the Laravel HLS package...
Jul 20, 2025
A detailed, example-rich guide to avoid slowdowns in Laravel apps by optimizing data retrieval and employing indexing smartly. 1. 🧠 Fetch Only...
Jul 01, 2025
🚫 Stop Copy-Pasting Code! Ever duplicated slug logic or logging across multiple models? Laravel's Traits got your back. 1. What’s a Trait?...
Jul 06, 2025
Using Web Components the Smart Way A lot of developers assume Web Components are meant to replace full SPA frameworks like React or Vue. But in rea...
Jun 26, 2025
Guide to Scroll‑Driven Animations with CSS CSS animations can now be linked to user scrolling without any JavaScript — just pure CSS. 1. Thr...