25-01-2023
Código Javascript Limpo - 2 de 5 - Parte 2
2. CARACTERÍSTICAS DE FUNÇÕES (Continuação)
Continuação do Tema "Código Javascript Limpo" iniciado no passado dia 04 de Janeiro de 2023.
ATRIBUIÇÃO DE VALORES PADRÃO
É possível atribuir valores padrão aos parâmetros de uma função. Isso significa que, se um valor para esse parâmetro não for passado quando a função é chamada, o valor padrão vai ser usado. Isso é útil para evitar que, por exemplo, uma função possa parar se um determinado valor que estamos à espera não seja passado ou se esse valor for inválido. Na atribuição de valores padrão utiliza-se o operador "=" dentro dos parênteses da função, seguido do valor padrão desejado (parametro = valorPadrao).
Exemplo menos bom:
const logError = (err) => { const error = err || "Algo de errado não está certo!"; console.log(error); };
Exemplo bom:
const logError = (err = "Algo de errado não está certo!") => console.log(err);
Explicações:
Antes da explicação, realçar que para este tipo de casos pode haver requisitos que forcem o uso de de exemplos diferentes do descrito como o ideal, isto é, pode haver uma especificação mesmo do projeto que faça o programador seguir pela via do exemplo menos bom.
Ao executarmos o código anterior através das chamadas:
logError();
ou
const userErrorMessage = "Utilizador não encontrado!"; logError(userErrorMessage);
...o resultado é exatamente igual nos dois casos, isto é, ou teremos o resultado de "Algo de errado não está certo!" ou se atribuirmos a mensagem de erro à variável 'userErrorMessage' teremos o resultado de "Utilizador não encontrado!". Mas a diferença coloca-se quando atribuímos um valor vazio á variável err. Por exemplo, se executarmos algumas das três opções seguintes:
logError("");
ou
logError(null);
ou
logError(false);
...o resultado já vai ser diferente. Pelo primeiro exemplo, em qualquer uma destas opções iremos continuar a ter a mensagem "Algo de errado não está certo!" e através do segundo já iremos ter o próprio valor que enviamos na variável 'err' isto é, "", null ou false.
Assim podemos dizer que o segundo exemplo é mais intuitivo e eficiente. Além de usar uma sintaxe mais curta e direta, usa também a atribuição de um valor padrão, que era o foco deste tema. Dessa maneira vai sempre existir um determinado valor, mesmo com uma string vazia, nula ou falsa e nunca vai ser preciso validá-la antes de a usarmos, como está a ser validada no primeiro exemplo.
Ao ter menos linhas de código, também se torna mais fácil a sua leitura e compreensão (o que também pode não ser verdade em todos os casos).
Artigos Relacionados:
RELACIONADAS