# Funções de comparação

As funções de comparação realizam comparações de entradas booleanas e estão disponíveis para componentes que suportam expressões com *Double Braces*. Para saber como passar informações para os componentes utilizando esse recurso, leia a documentação [Funções *Double Braces*](https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/double-braces/double-braces-functions).

## AND <a href="#and" id="and"></a>

Utilizando *Double Braces*, você pode combinar a função com o acesso ao elemento do JSON de entrada de um componente.

Na função de comparação AND, ambos os valores passados devem ser "true" para retornar "true".

### **Sintaxe**

```
AND( boolean1, boolean2, …, booleanN )
```

No exemplo abaixo, o valor "false" será atribuído:

```
{
"and": {{ AND( true, false ) }}
}
```

{% hint style="info" %}
o valor `null` é considerado como `false`. O retorno dessa função será `true` ou `false`.
{% endhint %}

## NOT <a href="#not" id="not"></a>

Utilizando *Double Braces*, você pode combinar a função com o acesso ao elemento do JSON de entrada de um componente.

A função de comparação NOT retorna o valor oposto recebido.

### **Sintaxe**

```
NOT( boolean )
```

No exemplo abaixo o valor "true" será atribuído:

```
{
"not": {{ NOT( true ) }}
}
```

{% hint style="info" %}
o valor `null` é considerado como `false`. O retorno dessa função será `true` ou `false`.
{% endhint %}

## OR <a href="#or" id="or"></a>

Utilizando *Double Braces*, você pode combinar a função com o acesso ao elemento do JSON de entrada de um componente.

Na função de comparação OR, pelo menos um dos valores passados deve ser "true" para retornar "true".

### **Sintaxe**

```
OR(boolean1, boolean2, …, booleanN )
```

No exemplo abaixo, o valor "true" será atribuído:

```
{
"or": {{ OR( true, false ) }}
}
```

{% hint style="info" %}
o valor `null` é considerado como `false`. O retorno dessa função será `true` ou `false`.
{% endhint %}

## XOR <a href="#xor" id="xor"></a>

Utilizando *Double Braces*, você pode combinar a função com o acesso a elemento do JSON de entrada de um componente.

A função de comparação XOR só retornará "true" se os valores passados forem opostos. Exemplo: TRUE e FALSE ou FALSE e TRUE.

Com o suporte a múltiplos valores booleanos, a estratégia de resolução da função é realizada em pares, com início da esquerda para direita. Exemplo: (TRUE e FALSE e TRUE) = FALSE ou (FALSE e TRUE e FALSE e FALSE) = TRUE .

### **Sintaxe**

```
XOR(boolean1, boolean2, …, booleanN )
```

No exemplo abaixo, o valor "true" será atribuído:

```
{
"xor": {{ XOR( true, false, true, true ) }}
}
```

{% hint style="info" %}
O valor `null` é considerado como `false`. O retorno dessa função será `true` ou `false`.
{% endhint %}
