1
resposta

[Dúvida] Mão na massa: proteção na entrada de valores

Fiz corretamente. Há outras formas de fazer essa implementação? print com o código

1 resposta

Oi, Gabriel.

No caso, uma sugestão seria de trocar o var por let, pois o let costuma ser o padrão e mais seguro quando inicializando uma variável, por questão de escopo de variáveis no JavaScript. Escopo é o bloco ao qual uma variável pertence. O var está disponível em qualquer parte da função (ou do arquivo) em que seja inicializada, enquanto o let só está disponível no escopo no qual foi chamado:

function somar() {
    let a = 2
    let b = 3
    if (a > 0) {
        let a = -2
        console.log(a+b)
        // aqui irá imprimir 1 pois  há uma nova variável let a = -2 SOMENTE para este bloco
    // um novo let a = 3 aqui resultaria em erro
    console.log(a+b)
        // aqui irá imprimir 5 pois o let a = -2 só é considerado dentro do bloco if
        // se trocar os let por var, o var dentro do bloco if mudará o valor da variável fora do escopo do bloco if também, resultando em 1
    return

No seu alert(), seu texto deveria dizer "x tem que ser menor que o valor limite de y".

Seguem referencias:

https://cursos.alura.com.br/forum/topico-diferencas-const-let-e-var-200251

https://sentry.io/answers/difference-between-let-and-var-in-javascript/

Bons estudos!