ECMAScript 2026
New Features in JavaScript 2026
| Feature | Description | Stage |
|---|---|---|
| Error isError() | Checks whether a value is an Error object | Final |
| Array.fromAsync() | Copies items from an async iterable into a new array | Stage 4 |
Warning
The 2026 edition is not published yet. It normally ships in June.
As of November 2025, this is a list of the features in the draft, that is likely to be in the ES2026.
Error.isError()
The Error.isError() static method checks whether a value is an Error object.
Examples
Error.isError(new TypeError()); // true
Error.isError({ name: "Error" }); // false
Try it Yourself »
Error.isError() is a safe alternative to
instanceof Error which fails across realms.
Realm-safe error check:
An Error from an iframe verifies with Error.isError()
and fails with instanceof.
Browser Support
Error.isError() is supported in most modern browsers since May 2025:
| Chrome 134 |
Edge 134 |
Firefox 138 |
Safari ❌ |
Opera 119 |
| Mar 2025 | Mar 2025 | Apr 2025 | ❌ | May 2025 |
Array.fromAsync()
Examples
async function* asyncGenerator() {
yield Promise.resolve(1);
yield Promise.resolve(2);
yield Promise.resolve(3);
}
async function processAsyncData() {
const arr = await Array.fromAsync(asyncGenerator());
}
processAsyncData();
Try it Yourself »
Browser Support
Array.fromAsync() is supported in all modern browsers since Feb 2024:
| Chrome 121 |
Edge 121 |
Firefox 115 |
Safari 16.4 |
Opera 107 |
| Jan 2024 | Jan 2024 | Jul 2023 | May 2023 | Feb 2024 |