To quote the spec:
ECMAScript 2026, the 17th edition, added Math.sumPrecise for summing an iterable of Numbers of varying magnitude while minimizing precision loss; Iterator.concat for sequencing iterators; Array.fromAsync for constructing Arrays from async iterables and other async sources; Error.isError for identifying error objects; methods to Map.prototype and WeakMap.prototype for providing a default value to use during retrieval when a key is not already present; methods to Uint8Array for converting to and from Strings of hexadecimal- and base64-encoded binary data; a parameter to JSON.parse revivers to access the matched segment of JSON source; and JSON.rawJSON for fine control over JSON.stringify output for primitive values.
We need to add the following:
Math.sumPrecise
Array.fromAsync
Iterator.concat
JSON.rawJSON
- An overload(?) for
JSON.stringify
The following must be moved to an es2026 lib:
Error.isError
Map.prototype.*
getOrInsert
getOrInsertComputed
WeakMap.prototype.*
getOrInsert
getOrInsertComputed
Uint8Array.prototype.*
toBase64
setFromBase64
toHex
setFromHex
Uint8Array.fromHex
Uint8Array.fromBase64
To quote the spec:
We need to add the following:
Math.sumPreciseArray.fromAsyncIterator.concatJSON.rawJSONJSON.stringifyThe following must be moved to an
es2026lib:Error.isErrorMap.prototype.*getOrInsertgetOrInsertComputedWeakMap.prototype.*getOrInsertgetOrInsertComputedUint8Array.prototype.*toBase64setFromBase64toHexsetFromHexUint8Array.fromHexUint8Array.fromBase64