Olá Farley! Tudo bem?
Você trouxe uma questão interessante sobre o uso do ponto e vírgula em JavaScript e a inserção automática de ponto e vírgula (ASI). Realmente, o ASI pode, em alguns casos, adicionar ponto e vírgula de forma inesperada, o que pode levar a comportamentos estranhos ou erros no código.
Um exemplo clássico disso é quando você tem uma instrução return
seguida de uma nova linha. Se você não colocar o ponto e vírgula manualmente, o ASI pode inserir um ponto e vírgula logo após o return
, o que resultaria em um retorno undefined
em vez do valor que você pretendia retornar. Veja o exemplo:
// Comportamento inesperado devido ao ASI
function retornaValor() {
return
{
valor: 42
};
}
// O ASI insere um ponto e vírgula após o `return`, resultando em `undefined`
console.log(retornaValor()); // undefined
Para evitar esse tipo de problema, é uma boa prática adicionar o ponto e vírgula manualmente:
// Com ponto e vírgula manual
function retornaValor() {
return {
valor: 42
};
}
console.log(retornaValor()); // { valor: 42 }
Além disso, em projetos maiores ou colaborativos, a consistência no uso do ponto e vírgula pode ajudar a manter o código mais claro e evitar ambiguidades. Isso faz com que o código seja mais fácil de entender e menos propenso a erros de interpretação.
Bons estudos!