相等运算符

兼容性(无单位相等)
Dart Sass
LibSass
Ruby Sass
自 4.0.0 起(未发布)

LibSass 和旧版 Ruby Sass 将没有单位的数字视为等于带有任何单位的相同数字。此行为已弃用,并且已从较新版本中删除,因为它违反了 传递性

相等运算符返回两个值是否相同。它们写为 <expression> == <expression>,它返回两个表达式是否相等,以及 <expression> != <expression>,它返回两个表达式是否相等。如果两个值类型相同值相同,则它们被认为相等,这意味着对于不同的 类型而言有不同的含义

  • 数字如果具有相同的值相同的单位,或者当它们的值在彼此之间转换单位时相等,则相等。
  • 字符串不同寻常,因为具有相同内容的未加引号加引号字符串被认为 相等。
  • 颜色如果具有相同的红色、绿色、蓝色和 alpha 值,则相等。
  • 列表如果其内容相等,则相等。逗号分隔的列表不等于空格分隔的列表,并且带方括号的列表不等于不带方括号的 列表。
  • 映射如果其键和值都 相等,则相等。
  • 计算如果其名称和参数都相等,则相等。操作参数按 文本方式进行比较。
  • truefalsenull仅等于 它们自己。
  • 函数等于相同的函数。函数按引用进行比较,因此即使两个函数具有相同的名称和定义,如果它们未在同一 位置定义,则它们也被认为不同。

SCSS语法

@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 语法

@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