相等运算符
相等运算符返回两个值是否相同。它们被写成
<expression>
==
<expression>
,它返回两个表达式是否相等。
<expression>
!=
<expression>
,它返回两个表达式是否不相等。如果两个值是相同类型且相同的值,则认为它们相等,这意味着不同类型的不同含义:
- 如果数字具有相同的值和相同的单位,或者当它们的单位在彼此之间转换时,它们的值相等,则它们是相等的。
- 字符串是不寻常的,因为具有相同内容的无引号字符串和带引号字符串被视为相等。
-
如果
red
,green
,blue
和alpha
值相同,则颜色相等。 - 如果列表的内容相等,则列表是相等的。逗号分隔的列表不等于空格分隔的列表,带括号的列表不等于无括号的列表。
- 如果映射的键和值都相等,则它们是相等的。
- 如果计算的名称和参数都相等,则计算是相等的。操作参数按文本进行比较。
-
true
、false
和null
,仅等于它们自己。 - 函数等于相同的函数。函数通过引用进行比较,因此即使两个函数具有相同的名称和定义,如果它们不是在同一个位置定义的,也会被视为不同。
@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