Operadores de Igualdade
- Sass de Dart
- ✓
- LibSass
- ✗
- Sass de Ruby
- since 4.0.0 (unreleased)
A LibSass e versões antigas de Sass de Ruby consideram números sem unidades como iguais aos números com quaisquer unidades. Este comportamento foi depreciado e tem sido removido dos lançamentos mais recentes porque viola a transatividade.
Os operadores de igualdade retornam se dois valores são ou não iguais. São escritos <expression> == <expression>
, que retorna se duas [expressões][expression] são iguais, e <expression> != <expression>
, que retorna se duas expressões não forem iguais. Os dois valores são considerados iguais se forem do mesmo tipo e se forem o mesmo valor, o que significa coisas diferentes para tipos diferentes:
-
Números são iguais se tiverem o mesmo valor e a mesma unidade, ou se os seus valores forem iguais quando suas unidades forem convertidas mutuamente entre si.
-
Sequências de Caracteres são invulgares em que sequências de caracteres sem aspas e com aspas com o mesmo conteúdo são consideradas iguais.
-
Cores são iguais se tiverem os mesmos valores de vermelho, verde, azul, e alfa.
-
Listas são iguais se seus conteúdos forem iguais. As listas separadas por vírgulas não são iguais as listas separadas por espaço, e listas entre parêntesis não são iguais as sem parêntesis.
-
Mapas são iguais se suas chaves e valores forem ambas iguais.
-
Cálculos são iguais se seus nomes e argumentos forem todos iguais. Os argumentos da operação são comparados textualmente.
-
true
,false
, enull
apenas são iguais a si mesmos. -
Funções são iguais a mesma função. As funções são comparadas por referência, então mesmo se duas funções tiverem o mesmo nome e definição são consideradas diferentes se não forem definidas no mesmo lugar.
SCSS Syntax
@debug 1px == 1px; // true
@debug 1px != 1em; // true
@debug 1 != 1px; // true
@debug 96px == 1in; // true
@debug "Helvetica" == Helvetica; // true
@debug "Helvetica" != "Arial"; // true
@debug hsl(34, 35%, 92.1%) == #f2ece4; // true
@debug rgba(179, 115, 153, 0.5) != rgba(179, 115, 153, 0.8); // true
@debug (5px 7px 10px) == (5px 7px 10px); // true
@debug (5px 7px 10px) != (10px 14px 20px); // true
@debug (5px 7px 10px) != (5px, 7px, 10px); // true
@debug (5px 7px 10px) != [5px 7px 10px]; // true
$theme: ("venus": #998099, "nebula": #d2e1dd);
@debug $theme == ("venus": #998099, "nebula": #d2e1dd); // true
@debug $theme != ("venus": #998099, "iron": #dadbdf); // true
@debug true == true; // true
@debug true != false; // true
@debug null != false; // true
@debug get-function("rgba") == get-function("rgba"); // true
@debug get-function("rgba") != get-function("hsla"); // true
Sass Syntax
@debug 1px == 1px // true
@debug 1px != 1em // true
@debug 1 != 1px // true
@debug 96px == 1in // true
@debug "Helvetica" == Helvetica // true
@debug "Helvetica" != "Arial" // true
@debug hsl(34, 35%, 92.1%) == #f2ece4 // true
@debug rgba(179, 115, 153, 0.5) != rgba(179, 115, 153, 0.8) // true
@debug (5px 7px 10px) == (5px 7px 10px) // true
@debug (5px 7px 10px) != (10px 14px 20px) // true
@debug (5px 7px 10px) != (5px, 7px, 10px) // true
@debug (5px 7px 10px) != [5px 7px 10px] // true
$theme: ("venus": #998099, "nebula": #d2e1dd)
@debug $theme == ("venus": #998099, "nebula": #d2e1dd) // true
@debug $theme != ("venus": #998099, "iron": #dadbdf) // true
@debug calc(10px + 10%) == calc(10px + 10%) // true
@debug calc(10% + 10px) == calc(10px + 10%) // false
@debug true == true // true
@debug true != false // true
@debug null != false // true
@debug get-function("rgba") == get-function("rgba") // true
@debug get-function("rgba") != get-function("hsla") // true