The main advantage of exec is that it returns capture groups. For instance:
var s = "123456789" var regex = /.(.)(..)/g;
match:
s.match(regex); > [1234, 5678]
Exec:
regex.exec(s); > [1234, 2, 34] regex.exec(s); > [5678, 6, 78]
Review the coding standards that you have published; the document contains many seemingly arbitrary recommendations. Obviously, it aims to achieve greater consistency, so it is possible that exec is preferred because it has more functionality - it needs to be used in some cases, so they can always use it as well.
In a personal note, I don't care about principles without explanation, so this is a good thing you asked for. In many cases, this leads to dogmatic or superstitious programming.
source share