Booleanos

Os booleanos são os valores lógicos true e false. Além das suas formas literais, os booleanos são retornados pelos operadores de igualdade e relacionais, bem como muitas funções embutidas como math.comparable() e [map.has-key()](/documentation/modules/map#has-key.

SCSS Syntax

@use "sass:math";

@debug 1px == 2px; // false
@debug 1px == 1px; // true
@debug 10px < 3px; // false
@debug math.comparable(100px, 3in); // true

Sass Syntax

@use "sass:math"

@debug 1px == 2px  // false
@debug 1px == 1px  // true
@debug 10px < 3px  // false
@debug math.comparable(100px, 3in)  // true

Tu podes trabalhar com booleanos usando operadores booleanos. O operador and retorna true se ambos ambos lados forem true, e o operador or retorna true se um ou outro lado for true. O operador not retorna o oposto de um único valor booleano.

SCSS Syntax

@debug true and true; // true
@debug true and false; // false

@debug true or false; // true
@debug false or false; // false

@debug not true; // false
@debug not false; // true

Sass Syntax

@debug true and true  // true
@debug true and false  // false

@debug true or false  // true
@debug false or false  // false

@debug not true  // false
@debug not false  // true

Usando BooleanosUsando Booleanos permalink

Tu podes usar booleanos para escolheres se fazes ou não várias coisas na Sass. A regra @if avalia um bloco de estilos se seu argumento for true:

SCSS Syntax

@use "sass:math";

@mixin avatar($size, $circle: false) {
  width: $size;
  height: $size;

  @if $circle {
    border-radius: math.div($size, 2);
  }
}

.square-av {
  @include avatar(100px, $circle: false);
}
.circle-av {
  @include avatar(100px, $circle: true);
}

Sass Syntax

@use "sass:math"

@mixin avatar($size, $circle: false)
  width: $size
  height: $size

  @if $circle
    border-radius: math.div($size, 2)



.square-av
  @include avatar(100px, $circle: false)

.circle-av
  @include avatar(100px, $circle: true)

CSS Output

.square-av {
  width: 100px;
  height: 100px;
}

.circle-av {
  width: 100px;
  height: 100px;
  border-radius: 50px;
}







A função if() retorna um valor se seu argumento true e um outro se seu argumento for false:

SCSS Syntax

@debug if(true, 10px, 30px); // 10px
@debug if(false, 10px, 30px); // 30px

Sass Syntax

@debug if(true, 10px, 30px)  // 10px
@debug if(false, 10px, 30px)  // 30px

Veracidade e FalsidadeVeracidade e Falsidade permalink

Em qualquer parte que true ou false forem permitidos, podes usar outros valores também. Os valores false e null são falsos, o que significa que a Sass considera-os para indicar falsidade e motivos de condições falharem. Todo outro valor é considerado verdadeiro, então a Sass considera-os para funcionar como true e motivo das condições serem bem-sucedidas.

Por exemplo, se quiseres verificar se uma sequência de caracteres contém um espaço, podes apenas escrever string.index($string, ""). A função string.index() retorna null se a sequência de caracteres não for encontrada e de outro modo um número.

⚠️ Atenção!

Algumas linguagens consideram mais valores falsos do que false e null. A Sass não é uma dessas linguagens! Sequências de caracteres vazias, listas vazias, e o número 0 são todos verdadeiros na Sass.