Boolean
Booleanos são muito primitivos, eles só podem ser 'verdadeiro' ou 'falso'.
Comparação
Além de igualdade == e desigualdade !=, os booleanos também aceitam os seguintes operadores:
& AND lógico
true & true == true
true & false == false
false & true == false
false & false == false
AND interrompe a expressão se o lado esquerdo for falso
| OR lógico
true | true == true
true | false == true
false | true == true
false | false == false
OR interrompe a expressão se o lado esquerdo for verdadeiro
% XOR lógico (OR exclusivo)
true % true == false
true % false == true
false % true == true
false % false == false
XOR sempre avalia ambos os lados da expressão
Operador Bang
!! converte qualquer tipo em booleano, assim:
- null -> false
- zero (número) -> false
- não-zero (número) -> true
- vazio (texto/lista/escopo/chunk) -> false
- não-vazio (texto/lista/escopo/chunk) -> true
- método -> true
- erro -> false
AND/OR lógicos (
&,|) e fluxos condicionais (=>,?) converterão implicitamente para booleano