Symbol.matchAll
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2020年1月以降、すべてのブラウザーで利用可能です。
Symbol.matchAll は静的データプロパティで、ウェルノウンシンボルの Symbol.matchAll を表します。String.prototype.matchAll() メソッドは最初の引数に対して、文字列に対する現在のオブジェクトの照合を行うイテレーターを返すメソッドを、このシンボルで探します。
詳しくは、RegExp.prototype[Symbol.matchAll]() および String.prototype.matchAll() を参照してください。
試してみましょう
const re = /\d+/g;
const str = "2016-01-02|2019-03-07";
const result = re[Symbol.matchAll](str);
console.log(Array.from(result, (x) => x[0]));
// 予想される結果: Array ["2016", "01", "02", "2019", "03", "07"]
値
ウェルノウンシンボル Symbol.matchAll です。
Symbol.matchAll のプロパティ属性 | |
|---|---|
| 書込可能 | 不可 |
| 列挙可能 | 不可 |
| 設定可能 | 不可 |
例
>Symbol.matchAll の使用
js
const str = "2016-01-02|2019-03-07";
const numbers = {
*[Symbol.matchAll](str) {
for (const n of str.matchAll(/\d+/g)) yield n[0];
},
};
console.log(Array.from(str.matchAll(numbers)));
// ["2016", "01", "02", "2019", "03", "07"]
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-symbol.matchall> |