Oi, Henrique! Como vai?
Agradeço por compartilhar.
Ficou bem interessante a forma como você criou a verificação pra garantir que os valores inseridos sejam compatíveis antes de realizar o sorteio. A condição (de <= ate) && (ate - de + 1 >= quantidade) mostra uma boa preocupação em evitar situações inválidas, além do uso de includes() para impedir números repetidos na lista.
Você pode testar o método Number() pra garantir que os valores capturados do HTML sejam realmente números, evitando comparações inesperadas entre textos. Veja este exemplo:
let quantidade = Number(document.getElementById('quantidade').value);
let de = Number(document.getElementById('de').value);
let ate = Number(document.getElementById('ate').value);
console.log(quantidade, de, ate);
Number() converte o valor digitado nos campos para numero, garantindo que comparações matemáticas funcionem corretamente.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!