--- title: RegExp.prototype.source slug: Web/JavaScript/Reference/Global_Objects/RegExp/source tags: - JavaScript - Property - Prototype - Reference - RegExp - регулярные выражения translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/source ---
Свойство source
возвращает {{jsxref("Global_Objects/String", "строку", "", 1)}}, содержащую текст шаблона регулярного выражения без прямых слешей с обеих сторон и без флагов регулярного выражения.
source
var regex = /fooBar/ig; console.log(regex.source); // 'fooBar', не содержит прямые слеши /.../ и флаги 'ig'.
Начиная с ECMAScript 5, свойство source
больше не возвращает пустую строку для пустых регулярных выражений. Вместо этого, возвращается строка" (?:)". Кроме того, теперь экранируются символы окончания строк (такие как, "\n").
new RegExp().source; // "(?:)" new RegExp('\n').source === '\n'; // true, до появления ES5 new RegExp('\n').source === '\\n'; // true, начиная с ES5
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 3-е издание. | Стандарт | Изначальное определение. Реализована в JavaScript 1.2. JavaScript 1.5: свойство source является свойством экземпляра {{jsxref("Global_Objects/RegExp", "RegExp")}}, а не самого объекта {{jsxref("Global_Objects/RegExp", "RegExp")}}. |
{{SpecName('ES5.1', '#sec-15.10.7.1', 'RegExp.prototype.source')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-get-regexp.prototype.source', 'RegExp.prototype.source')}} | {{Spec2('ES6')}} | Свойство source теперь является свойством доступа в прототипе объекта, а не собственным свойством данных экземпляра. |
{{Compat}}