← Chrome 153 reference

v153 · javascript · covered on mdn

Joint Iteration

Adds two static methods to Iterator — Iterator.zip and Iterator.zipKeyed — that synchronise the advancement of multiple iterators, the operation often called zip. zip takes an iterable of iterables and yields arrays of positionally-aligned values; zipKeyed takes an object whose values are iterables and yields objects with the same keys. An options bag selects a mode of "shortest" (the default), "longest" (with optional per-input padding), or "strict" (which throws unless all inputs finish together). The proposal reached TC39 Stage 4 and was merged into ECMA-262 on 2026-06-02.

this feature is documented on MDN

MDN: Iterator.zip() static method

MDN’s reference covers both methods in full — syntax, parameters (including the mode/padding options), return value, worked examples, specifications, and browser compatibility — at Iterator.zip() and Iterator.zipKeyed() (both verified substantive, 2026-07-29). gendn doesn't duplicate that here.

Why gendn doesn't duplicate MDN: this site exists for Chrome features that have no MDN reference yet. When MDN covers a feature completely, the honest page is a pointer to the canonical reference plus the shipping metadata MDN doesn't track — duplicated prose would only drift out of sync.

quick reference

The changeTwo static methods on Iterator: Iterator.zip(iterables, options?) (iterable of iterables → iterator of arrays) and Iterator.zipKeyed(iterables, options?) (object of iterables → iterator of objects), with options.mode = "shortest" (default) / "longest" (plus optional options.padding) / "strict"
Chrome statusEnabled by default in Chrome 153 — the milestone=153 listing files it under “Enabled by default” and is authoritative (verified 2026-07-29). The detail record’s status text still reads “Proposed” — stale metadata on the record, disclosed here
SpecTC39 Joint Iteration proposal (Stage 4); merged into ECMA-262 by tc39/ecma262 PR #3802 on 2026-06-02
V8 stateAt the 2026-10-08 re-check, Chromium M153 branch-heads/7978 pins V8 revision a5b392c via its DEPS; js_joint_iteration remains in JAVASCRIPT_STAGED_FEATURES_BASE there, not the shipping list. Later V8 trunk no longer has that named flag at all; its removal cannot prove the M153 branch enabled it by default. Local Chrome 154.0.8037.97 exposes both methods (typeof Iterator.zip and typeof Iterator.zipKeyed return "function"), but that does not establish the M153 binary's rollout. The Chrome 153 listing says “Enabled by default”; test both in the target build before relying on them
MDNIterator.zip() · Iterator.zipKeyed()
Browser compatibilityBCD javascript/builtins/Iterator.json (verified 2026-07-29): Chrome false with impl_url crbug 465357675 — BCD has not yet recorded the Chrome 153 default-on (freshness gap; the listing is authoritative). Firefox 148. Safari false (webkit.org/b/303246)
Teststest262 (the ECMA-262 conformance suite; JavaScript features use test262, not WPT): 38 Iterator/zip files and 44 Iterator/zipKeyed files (counted 2026-07-29)
BaselineThe parent iterator-methods web-feature is Baseline newly available (webstatus.dev, 2026-07-29); the ChromeStatus record marks this addition’s own Web Feature ID as “Missing feature”
ChromeStatus6249068542164992 — Joint Iteration (blink component Blink>JavaScript>Language)
Interactive demosNo Chrome Platform Showcase route exists for this feature (the expected route returned 404 on 2026-07-29); MDN’s examples are the canonical runnable snippets
Source: MDN Iterator.zip() and MDN Iterator.zipKeyed(), both fetched 2026-07-29; chromestatus.com/feature/6249068542164992; tc39/proposal-joint-iteration

references