Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Operadores
  5. NOT lógico (!)

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

NOT lógico (!)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨julho de 2015⁩.

O operador lógicoNOT (!) (complemento lógico, negação) leva a verdade à falsidade e a falsidade à verdade, por isso, é conhecido como um operador de "negação". Normalmente é usado com valores booleanos (lógicos). Quando usado com valores não booleanos, retornafalse se seu único operando puder ser convertido emtrue; caso contrário, retornatrue.

Experimente

const a = 3;const b = -2;console.log(!(a > 0 || b > 0));// Expected output: false

Sintaxe

js
!x

Descrição

Retornafalse se seu único operando puder ser convertido emtrue; caso contrário, retornatrue.

Se um valor puder ser convertido emtrue, o valor será chamadotruthy. Se um valor puder ser convertido emfalse, o valor será denominadofalsy.

Exemplos de expressões que podem ser convertidas em falso são:

  • null;
  • NaN;
  • 0;
  • empty string ("" or'' or``);
  • undefined.

Mesmo que o operador! possa ser usado com operandos que não sejam valores booleanos, ele ainda pode ser considerado um operador booleano, pois seu valor de retorno sempre pode ser convertido em umprimitivo booleano. Para converter explicitamente seu valor de retorno (ou qualquer expressão em geral) para o valor booleano correspondente, use um operador NOT duplo (!!) ou o construtorBoolean do JavaScript.

Exemplos

Usando NOT

O código a seguir mostra exemplos do operador lógico NOT!:

js
!true; // !t returns false!false; // !f returns true!""; // !f returns true!"Cat"; // !t returns false

Duplo NOT (!!)

É possível usar alguns operadores NOT em série para forçar explicitamente a conversão de qualquer valor para umprimitivo booleano correspondente.A conversão é baseada na "veracidade" ou "falsidade" do valor (vejatruthy efalsy).

A mesma conversão pode ser feita através da funçãoBoolean() do JavaScript.

js
!!true; // !!truthy returns true!!{}; // !!truthy returns true: any object is truthy...!!new Boolean(false); // ...even Boolean objects with a false .valueOf()!!!false; // !!falsy returns false!!""; // !!falsy returns false!!Boolean(false); // !!falsy returns false

Conversão entre NOTs

A seguinte operação envolvendobooleanos:

js
!!bCondition

é sempre igual a:

js
bCondition

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-logical-not-operator

Compatibilidade com navegadores

Veja também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp