Lzh on GitHub

相等

相等运算符返回两个值是否相同。写法是 <expression> == <expression>,返回两个表达式是否相等;以及 <expression> != <expression>,返回两个表达式是否不相等。如果两个值类型相同且值相同,则被视为相等,这对于不同的类型有不同的含义:

相等运算符返回两个值是否相同。写法是 <expression> == <expression>,返回两个表达式是否相等;以及 <expression> != <expression>,返回两个表达式是否相等。如果两个值类型相同且值相同,则被视为相等,这对于不同的类型有不同的含义:

  • 数字如果值相同单位相同,或者在单位相互转换后值相等,则它们相等。
  • 字符串比较特殊,内容相同的不带引号带引号的字符串被视为相等。
  • 颜色如果在同一个颜色空间中且具有相同的通道值,或者如果它们都在遗留颜色空间中且具有相同的 RGBA 通道值,则它们相等。
  • 列表如果其内容相等则相等。逗号分隔的列表与空格分隔的列表不相等,带括号的列表与不带括号的列表不相等。
  • 映射如果其键和值都相等则相等。
  • 计算如果其名称和参数都相等则相等。操作参数是按文本比较的。 truefalsenull 与它们自己相等。
  • 函数与相同的函数相等。函数是按引用比较的,因此即使两个函数具有相同的名称和定义,如果它们不是在同一个地方定义的,它们也会被视为不同。
@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