Javascript comprobar DNI o NIF

Después de usarlo en un proyecto, me gustaría compartir el código en Javascript para comprobar si un DNI es válido. También me he animado porque no estaba contento con la calidad de código que me he encontrado en algunos rincones. Aquí esta mi solución.

/**
 * Method that checks if the DNI is valid
 * @param number
 * @param letter
 * @return boolean
 */
function isDNI(number, letter) {
    if(!isNaN(number) 
        && isNaN(letter) 
        && number.toString().length === 8
        && letter.length === 1) {
        let lettersOrder ='TRWAGMYFPDXBNJZSQVHLCKET';
        if(lettersOrder[number % 23] === letter.toUpperCase()) {
            return true;
        }
    }
    return false;
}

Para utilizarlo solo deberemos darle a la funcion el número y la letra. Nos devolverá true si es autentico y false si no lo es.

isDNI(89255886, 'q')

O también con un string como tipo de número.

isDNI('89255886', 'q')

O dentro de un simple condicional.

if(isDNI(89255886, 'q')) {
    console.log('Es bueno');
}

Si les da problemas dejen un comentario.

Versión escritorio