Contagem de Vogais (Algoritmo JS)

Algoritmo básico que recebe uma string e retorna a contagem de vogais que aparecem na string. Usa um loop for aninhado, o que não é ideal para strings maiores. Será que alguém tem uma solução melhor?

function vowel_count(str) {
'use strict';

if(typeof str != 'string') {
return false;
}

var count = 0;
var pattern = /[aeiou]/i;

for(var i = 0; i < str.length; i++) {
if(str[i].match(pattern)) {
count
++;
}
}

return count;
}

var sentence = 'This should have 9 vowels in it';

var output = vowel_count(sentence);

console
.log(output);