Я нашел возвращаемое значение RexExp.prototype.exec
странно.Возвращенный массив также содержит пары ключ-значение.
> RegExp('foo*','g').exec('table football, foosball')
[ 'foo',
index: 6,
input: 'table football, foosball',
groups: undefined ]
И возвращенное значение может пройти Array.isArray
тест, а при передаче на typeof
вернется object
:
> Array.isArray(RegExp('foo*','g').exec('table football, foosball'))
true
> typeof RegExp('foo*','g').exec('table football, foosball')
'object'
Так что это за тип?
Это массив с ассоциированными парами ключ-значение?Как это:
> var arr = [1]
undefined
> arr.aaa = 2
2
> arr.bbb = 3
3
> arr
[ 1, aaa: 2, bbb: 3 ]