相等运算符
相等运算符返回两个值是否相同。它们被写成<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
