Не используйте квантификатор +
,
при использовании +
квантификатор +
это означает один или несколько раз,
[()]+
это означает совпадение ( or )
одинили больше времени, поэтому, когда у вас есть строка, такая как ()
, она рассматривается как одно совпадение
const matchType = str => str.match(/[()]/g)
console.log(matchType('{(})[]')); // ['(',')]
// Expected ['(',')']
console.log(matchType('{[()]}'));