Obtenha a extensão de um arquivo com JavaScript

Há vários meios de se obter a extensão com JavaScript, vou tentar passar alguns que eu conheço e outros que peguei Internet a dentro. Vou ir enumerando as possibilidades, abaixo será a base do nosso código, no qual consiste em as variáveis que contém os arquivos, e função que irá extrair a extensão:

var file1 = "50.xsl";
var file2 = "30.doc";
getFileExtension(file1); //retorna xsl
getFileExtension(file2); //retorna doc

function getFileExtension(filename) {
/*FUNÇÃO*/
}

1- Através de expressão regular

function getFileExtension1(filename) {
return (/[.]/.exec(filename)) ? /[^.]+$/.exec(filename)[0] : undefined;
}

2- Através do método split

function getFileExtension2(filename) {
return filename.split('.').pop();
}

3- Através de slice e lastIndexOf

Este talvez seja o método mais recomendado, pois ele não pega nomes de arquivos ocultos

function getFileExtension3(filename) {
return filename.slice((filename.lastIndexOf(".") - 1 >>> 0) + 2)
}

Você pode ver uma comparação dos métodos:

Comparação dos métodos

Fonte: How can I get file extensions with JavaScript?