Почему String.prototype.match () возвращает пустое значение вместо пустого массива? - PullRequest
0 голосов
/ 21 октября 2019

Пример взят из MDN webdocs

var paragraph = 'The quick brown fox jumps over the lazy dog. It barked.';
var regex = /[A-Z]/g;
var found = paragraph.match(regex);

console.log(found); // will return an array of matches and returns null when nothing matches.

Хотелось бы узнать причины возврата null вместо пустого массива, когда ничего не найдено?

1 Ответ

0 голосов
/ 21 октября 2019

Вот как String.prototype.match определяется в стандарте EcmaScript

  1. 21.1.3.11String.prototype.match (regexp)
  2. 21.2.5.7RegExp.prototype [@@ match] (строка)
  3. 21.2.5.2.2 Семантика выполнения: RegExpBuiltinExec (R, S)

Короче говоря: если ничего не совпадает - по стандарту возвращается null.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...