RegExp.prototype.flags
— это свойство средства доступа, функция которого не определена (является undefined). Его функция доступа get выполняет следующие шаги:
1. Пусть R будет значением this. 2. Если Тип Type(R) не является Объектом, выбросить исключение TypeError. 3. Пусть результатом result будет пустая Строка. 4. Пусть global будет ! ToBoolean(? Get(R, "global")). 5. Если global является true (истинно), добавьте кодовую единицу 0x0067 (СТРОЧНАЯ ЛАТИНСКАЯ БУКВА G) в качестве последней кодовой единицы результата result. 6. Пусть ignoreCase будет ! ToBoolean(? Get(R, "ignoreCase")). 7. Если ignoreCase является true (истинно), добавьте кодовую единицу 0x0069 (СТРОЧНАЯ ЛАТИНСКАЯ БУКВА I) в качестве последней единицы кода результата result. 8. Пусть multiline будет ! ToBoolean(? Get(R, "multiline")). 9. Если multiline является true (истинно), добавьте кодовую единицу 0x006D (СТРОЧНАЯ ЛАТИНСКАЯ БУКВА M) как последняя кодовая единица результата result. 10. Пусть dotAll будет ! ToBoolean(? Get(R, "dotAll")). 11. Если dotAll является true (истинно), добавьте кодовую единицу 0x0073 (СТРОЧНАЯ ЛАТИНСКАЯ БУКВА S) в качестве последней единицы кода результата result. 12. Да unicode будет ! ToBoolean(? Get(R, "unicode")). 13. Если unicode является true (истинно), добавьте кодовую единицу 0x0075 (СТРОЧНАЯ ЛАТИНСКАЯ БУКВА U) в качестве последней единицы кода результата result. 14. Пусть sticky будет ! ToBoolean(? Get(R, "sticky")). 15. Если sticky является true (истинно), добавьте кодовую единицу 0x0079 (СТРОЧНАЯ ЛАТИНСКАЯ БУКВА Y) в качестве последней единицы кода результата result. 16. Вернуть результат result.
Информационные ссылки
Предыдущий раздел — ECMAScript | get RegExp.prototype.dotAll
Стандарт ECMAScript — Раздел «get RegExp.prototype.flags» — https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
ECMAScript | Условные обозначения
ECMAScript | Свойства объекта-прототипа Регулярных Выражений