files/en-us/web/api/cssfontfeaturevaluesmap/symbol.iterator/index.md
{{APIRef("CSSOM")}}{{SeeCompatTable}}
The [Symbol.iterator]() method of {{domxref("CSSFontFeatureValuesMap")}} interface implements the iterable protocol and allows built-in iterators to be consumed by most syntaxes expecting iterables, such as the spread syntax and {{jsxref("Statements/for...of", "for...of")}} loops. It returns the value of this, which is the iterator object itself.
iterator[Symbol.iterator]()
None.
The value of this, which is the iterator object itself.
The following example uses the built-in iterator of CSSFontFeatureValuesMap to log the values using a for...of loop. This example is using @swash but also works with other feature value blocks.
@font-feature-values "MonteCarlo" {
@swash {
swishy: 1;
swashy: 2;
}
}
// get the rules
const myRule = document.styleSheets[0].cssRules[0];
for (const value of myRule.swash.keys()) {
console.log(value);
}
// Logs: "swishy", "swashy"
{{Specifications}}
{{Compat}}
Iterator.prototype[Symbol.iterator]()