Set.prototype[@@iterator]()

The initial value of the @@iterator property is the same function object as the initial value of the values property.

语法

mySet[Symbol.iterator]

返回值

The Set iterator function, which is the values() function by default.

示例

Using [@@iterator]()

var mySet = new Set();
mySet.add("0");
mySet.add(1);
mySet.add({});

var setIter = mySet[Symbol.iterator]();

console.log(setIter.next().value); // "0"
console.log(setIter.next().value); // 1
console.log(setIter.next().value); // Object

Using [@@iterator]() with for..of

var mySet = new Set();
mySet.add("0");
mySet.add(1);
mySet.add({});

for (var v of mySet) {
  console.log(v);
}

规范

规范 状态 说明
ECMAScript 2015 (6th Edition, ECMA-262)
Set.prototype[@@iterator]
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
Set.prototype[@@iterator]
Draft  

兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) 36 (36) [1] 未实现 未实现 未实现
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) 36.0 (36) [1] 未实现 未实现 未实现

[1] From Gecko 17 (Firefox 17 / Thunderbird 17 / SeaMonkey 2.14) to Gecko 26 (Firefox 26 / Thunderbird 26 / SeaMonkey 2.23 / Firefox OS 1.2) the iterator property was used (bug 907077), and from Gecko 27 to Gecko 35 the "@@iterator" placeholder was used. In Gecko 36 (Firefox 36 / Thunderbird 36 / SeaMonkey 2.33), the @@iterator symbol got implemented (bug 918828).

请参阅