Changelog

tc39/ecma262 · · 15 commits

Iterator.prototype.includes lands in the spec

New Iterator.prototype.includes method added, alongside a broad editorial cleanup of parsing, grammars, and RegExp split text.

Iterator.prototype.includes is now specified (michaelficarra837168a)

A new Iterator.prototype.includes(searchElement[, skippedElements]) method has been added to the standard library. The algorithm handles iterator validation, optional skipping, range checks, and SameValueZero matching, making the proposal concrete in the spec.

Parsing and grammar sections are reorganized (gibson04221e4774, gibson0429ef1768, gibson042bdfe05b, gibson04283df5c6, gibson0427baa612, gibson0423281a46)

The parsing material was split into a dedicated "Parsing" section and updated to more directly relate ParseText to parsing. Related grammar terminology was generalized and clarified, including runtime grammars, mnemonic terminal symbols, and colon usage, with a new example for multi-character syntactic-grammar terminals.

RegExp.prototype[%Symbol.split%] explanation tightened (gibson042dbf6bc1, gibson04243f12a7, gibson042cb86671)

The split-method text and embedded code formatting were brought into better alignment for consistency. The explanatory prose was also improved, which should make the behavior easier to follow.

Disposable-resource and binding assertion cleanups (linusg42b6e63, linusg06a7fa0, linusge3b9839)

CreateDisposableResource was inlined into AddDisposableResource, and a few calls were updated to use ! where the spec now guarantees they cannot throw. These are readability and notation cleanups, not behavioral changes.

Other misc changes

  • Introduced the term "non-zero finite Number".
  • Removed an incorrect [[NoTear]] note.