ECMAScript | RegExp.prototype [ @@matchAll ] ( string )

ECMAScript | RegExp.prototype [ @@matchAll ] ( string )

 

Когда метод @@matchAll вызывается с аргументом string, выполняются следующие шаги:

1. Пусть R будет значением this.
2. Если Тип Type(R) не является Объектом, выбросить исключение TypeError.
3. Пусть S будет ? ToString(string).
4. Пусть C будет ? SpeciesConstructor(R, %RegExp%).
5. Пусть флаги flags будут ? ToString(? Get(R, "flags")).
6. Пусть сопоставитель matcher будет ? Построить Construct(C, «R, flags»).
7. Пусть lastIndex будет ? ToLength(? Get(R, "lastIndex")).
8. Выполнить ? Установить Set(matcher, "lastIndex", lastIndex, true).
9. Если flags содержит "g", пусть global будет true (истинным).
10. Иначе, пусть global будет false (ложным).
11. Если flags содержит «u», пусть fullUnicode будет true (истинным).
12. Иначе пусть fullUnicode будет false (ложным).
13. Вернуть ! CreateRegExpStringIterator(matcher, S, global, fullUnicode).

Значение свойства «name» этой функции является «[Symbol.matchAll]«.

 

Информационные ссылки

Предыдущий раздел — ECMAScript | RegExp.prototype [ @@match ] ( string )

Стандарт ECMAScript — Раздел «RegExp.prototype [ @@matchAll ] ( string )» — https://tc39.es/ecma262/#sec-regexp-prototype-matchall

ECMAScript | Условные обозначения

ECMAScript | Свойства объекта-прототипа Регулярных Выражений