旧式イテレータープロトコルが削除されました

公開日: | カテゴリー: JavaScript

概要

JavaScript 1.7 で導入された非標準の旧式イテレータープロトコルへの対応が Firefox 57 で削除されました。これには、Iterator コンストラクターと __iterator__ メソッドが含まれます。

ECMAScript 2015 (ES6) は反復可能な ArrayMapSet オブジェクトを提供しており、StyleSheetList (Firefox 31 以降)、CSSRuleList (Firefox 32 以降)、URLSearchParams (Firefox 44 以降)、FormData (Firefox 44 以降)、Headers (Firefox 44 以降)、NodeListDOMTokenList (いずれも Firefox 50 以降) といった様々な DOM API も今では反復可能となっています。

これらのオブジェクトは Iterator コンストラクターなしに for...of 命令文と組み合わせて使うことができます。反復可能ではない汎用オブジェクトに関しては、Iterator を新しい標準の Object.entries メソッドで単純に置き換えることで、反復可能とすることができます。詳しくは 標準のジェネレーターとイテレーター を参照してください。

参考資料