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
Essential React Native UI & Interaction Components
Jul 01, 2025
Essential React Native UI & Interaction Components React Native provides a powerful set of built-in components for creating native mobile apps....
Analyze Laravel Projects with Introspect
Jul 01, 2025
Analyze Laravel Codebases with Laravel Introspect If you’re doing a complex refactor or building dev tools, Laravel Introspect helps you quer...
Bypassing $fillable Safely with forceFill() in Laravel
Jul 02, 2025
Bypassing $fillable Safely with forceFill() in Laravel Ever used create() in Laravel and noticed some fields like role or status didn’t save? T...
React Labs: View Transitions & Activity
Jun 17, 2025
React Labs: View Transitions & Activity Published April 23, 2025 by Ricky Hanlon. React Labs is sharing two new experimental featu...
Laravel 12.18.0 Update
Jun 17, 2025
Laravel 12.18.0 Update The Laravel team released version 12.18.0 with several cool updates: String encrypt() & decrypt() helpers are...
What’s New in ECMAScript 2025
Jun 30, 2025
What’s New in ECMAScript 2025 On June 25, 2025, Ecma International officially approved ES2025, adding several useful features: 1. 📦 Import At...
