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

Властивість 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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Особливість 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,