相等运算符

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

上篇: 运算符

下篇: 关系运算符