このRegExp.exec
関数は、ハイブリッド配列のようなものを返します。配列ですが、プロパティがあります。
console.log(/d(b+)(d)/i.exec("cdbBdbsbz"));
// => ["dbBd", "bB", "d", index: 1, input: "cdbBdbsbz"]
result[0]
、result[1]
、result.index
、result.input
などを呼び出すことができます。
自分で作るにはどうすればいいですか?
[0, 1, "a": 1]
は明らかに構文エラーであり、プロパティにインデックスを付けてアクセスできるオブジェクトを提供しますが、によって{"0": 1, "1": 1, "a": 1}
返されるものとexec
は異なります。
私はそれをやってみました__proto__
:
arr = [1, 2, 3];
arr.__proto__.a = 1 // arr.a is 1 now
しかしconsole.log
、 の結果で実行したときのようにプロパティを表示しないexec
ので、それでも同じではないと思います。