Переклад не закінчено. Будь ласка, допоможіть перекласти цю статтю з англійської.

Властивість sourse повертає  стороку, що містить текст шаблону регулярного виразу, і він немає містити два слеша з обох сторін, а також будь-які прапори регулярного виразу.

Property attributes of RegExp.prototype.source
Writable no
Enumerable no
Configurable yes

Приклад

Використовування source

var regex = /fooBar/ig;

console.log(regex.source); // "fooBar", не містить /.../ і прапори"ig".

Порожні регулярні вирази і як уникнути проблем

Починаючи з ECMAScript 5, властивість джерела більше не повертає порожній рядок для порожніх регулярних виразів. Замість цього, рядок «(? :)» повертається. Крім того, лінія термінатори (such as "\n") врятувалися в даний час.

new RegExp().source; // "(?:)"

new RegExp('\n').source === '\n';  // true до ES5
new RegExp('\n').source === '\\n'; // true,починаючи з ES5

Специфікації

Специфікації Статус Коментарій
ECMAScript 3  Unknown Первісне визначення. Реалізовано в JavaScript 1.2. JavaScript 1.5: є властивістю примірника RegExp а не RegExp об'єкта.
ECMAScript 5.1 (ECMA-262)
The definition of 'RegExp.prototype.source' in that specification.
Unknown Властивість source для порожніх регулярних виразів тепер повертає "(?:)" замість порожнього рядка. Визначення для відповідної поведінки було додано.
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'RegExp.prototype.source' in that specification.
Unknown Source зараз є властивістю доступу, а не власною властивістю даних.
ECMAScript Latest Draft (ECMA-262)
The definition of 'RegExp.prototype.source' in that specification.
Unknown  

Browser compatibility

Особливість Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базова підтримка (Yes) (Yes) (Yes) (Yes) (Yes)
"(?:)" для порожніх регулярних виразів No support 38 (38) ? ? (Yes)
Запобігання(вирішення) ? 38 (38) ? ? ?
Прототип оцінювач властивості ? 41 (41) ? ? ?
Особливість Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базова підтримка (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)
"(?:)" для порожніх регулярних виразів ? ? 38.0 (38) ? ? ?
Запобігання(вирішення) ? ? 38.0 (38) ? ? ?
Прототип оцінювач властивості ? ? 41.0 (41) ? ? ?

Дивіться також

Мітки документа й учасники

 Зробили внесок у цю сторінку: asmforce, Stand1k
 Востаннє оновлена: asmforce,