Hello @Fred_D,
this is a very valid point. We are aware that .forEach may outperform for..of, but the same could be said about a classic for loop, which is usually the most performant. In scenarios where performance is a key aspect, I agree this rule can be disabled.
But for most cases, the advantages of a for...of outweigh the minor (in majority of situations) performance differences, especially when you need control flow (break/continue), async/await support, or want to iterate over non-array iterables like Maps and Sets.
Cheers!