JavaScript

Porque utilizar dupla negação no JavaScript

5 de julho de 2020

Porque utilizar dupla negação no JavaScript

Neste artigo veremos porque utilizar dupla negação no JavaScript e as maneiras de aplicar esta forma de avaliação de booleanos no seu código

utilizando dupla negação javascript

Fala programador(a), tudo bem? Bora aprender mais sobre JavaScript!

Vamos primeiramente a explicação do operador NOT ou ! no JavaScript, ele basicamente converte o operador que está sendo usado para o contrário dele

Então !true vira false e !false vira true

E por consequência o segundo ! retorna o valor real que o valor tem, sendo assim a maneira mais rápida de verificar se um valor é verdadeiro ou falso no JavaScript

Essa é a grande sacada do duplo negativo!

Dessa forma vamos simplificar os processos de avaliação condicional

Exemplos práticos

Por exemplo, vamos avaliar se uma variável contém algum valor:

let a = "Tem algum valor";
let b;
if(!!a) {
    console.log("A variável a tem valor");
}
if(!!b) {
    console.log("A variável a tem valor");
}

Aqui neste exemplo só a variável a tem algum valor, então a validação de duplo negativo entra em ação, apenas submetendo a primeira checagem como true

Já que o vazio de uma variável retorna por default o valor false

Veja mais alguns valores que retornam false no JavaScript:

  • false
  • NaN
  • undefined
  • null
  • "" (empty string)
  • 0

Todos estes valores com o duplo negativo (!!) retornarão false para você quando forem aplicados a alguma condiconal

Os outros, retornarão true

Além dessa vantagem o valor é automaticamente convertido como um booleano, ou seja, temos um typecast para boolean

Conclusão

Neste artigo vimos como utilizar dupla negação no JavaScript

Podemos implementar este operador quando queremos uma validação rápida de uma sentença

Em que a checagem nos retorne um booleano como resposta, ou seja, true or false

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x