Ответ 1
Некоторые версии различных движков JavaScript допускают вызов RegExp
в качестве другого способа использования .exec()
:
var pattern = /./;
pattern('abc');
pattern.exec('abc');
И, поскольку они были Callable, typeof
рассмотрели их function
s:
Тип val: объект (собственный или хост и реализует [[Call]])
Результат:"function"
Насколько я знаю, текущие версии не проявляют этого поведения и будут бросать TypeError
. Но, если вы заинтересованы в обратной совместимости, в качестве Underscore, вам может потребоваться проверить его.