Atualizar:
Como @Ryan Leonard apontou corretamente, minha resposta realmente não corrige o que eu disse ... Você precisa aparar e remover espaços duplos com (por exemplo) string.replace (/ + / g, "") .. Ou você pode dividir o el.className e remover valores vazios com (por exemplo) arr.filter (booleano).
const classes = element.className.split(' ').filter(Boolean);
ou mais moderno
const classes = element.classList;
Velho:
Com todas as respostas fornecidas, você nunca deve esquecer do usuário .trim () (ou $ .trim ())
Como as classes são adicionadas e removidas, pode acontecer que haja vários espaços entre as strings da classe. Por exemplo, 'class1 class2 class3' ..
Isso se transformaria em ['class1', 'class2', '', '', '', 'class3'] ..
Quando você usa o recorte, todos os vários espaços são removidos.