Closed Bug 791348 Opened 12 years ago Closed 10 years ago

replace for-each statement to for-of statement

Categories

(Firefox :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 925989

People

(Reporter: teramako, Unassigned)

References

Details

ECMA-357(E4X) is deprecated. We should use for-of statement instead of for-each statement
Blocks: 791343
Status: UNCONFIRMED → NEW
Ever confirmed: true
Bug 737792 did this on the browser side. Will need to look at this a bit carefully: for-each works on both plain objects and arrays (although one should avoid using it with arrays), whereas for-of only works on arrays. Quick test because I always confuse these forms... :/ for each (let a in { a:1, b:2 }) --> 1,2 for (let a of { a:1, b:2 }) --> Exception: not iterable for (let a in { a:1, b:2 }) --> a,b for each (let a in ["a", "b"]) --> a,b for (let a of ["a", "b"]) --> a,b for (let a in ["a", "b"]) --> 0,1
How about for (let [, v] of Iterator({ a: 1, b: 2})) --> 1, 2
(In reply to teramako from comment #2) > How about > > for (let [, v] of Iterator({ a: 1, b: 2})) --> 1, 2 Is for-each support going to be dropped? If not, I'd rather keep using it in such cases. Otherwise I'd use for-in with an extra assignment rather than what you propose.
(In reply to Dão Gottwald [:dao] from comment #3) > (In reply to teramako from comment #2) > > How about > > > > for (let [, v] of Iterator({ a: 1, b: 2})) --> 1, 2 > > Is for-each support going to be dropped? If not, I'd rather keep using it in > such cases. Otherwise I'd use for-in with an extra assignment rather than > what you propose. Not now, but for-each is defined by ECMA-357 and the specification is deprecated. Then for-each will be non-standard (not de-facto standard at least). Using standardized code as far as possible is better.
Is this a duplicate of bug 925989 ?
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.