布尔运算符

与 JavaScript 等语言不同,Sass 为其 布尔 运算符使用单词而非符号。

  • not <表达式> 返回表达式值的相反:将 true 转换为 false,将 false 转换为 true
  • <表达式> and <表达式> 如果两个表达式的值都是 true,则返回 true,如果任一表达式为 false,则返回 false
  • <表达式> or <表达式> 如果任一表达式的值是 true,则返回 true,如果两个表达式都是 false,则返回 false
Playground

SCSS Syntax

@debug not true; // false
@debug not false; // true

@debug true and true; // true
@debug true and false; // false

@debug true or false; // true
@debug false or false; // false
Playground

Sass Syntax

@debug not true  // false
@debug not false  // true

@debug true and true  // true
@debug true and false  // false

@debug true or false  // true
@debug false or false  // false

Truthiness and FalsinessTruthiness and Falsiness permalink

Anywhere true or false are allowed, you can use other values as well. The values false and null are falsey, which means Sass considers them to indicate falsehood and cause conditions to fail. Every other value is considered truthy, so Sass considers them to work like true and cause conditions to succeed.

For example, if you want to check if a string contains a space, you can just write string.index($string, " "). The string.index() function returns null if the string isn’t found and a number otherwise.

⚠️ Heads up!

Some languages consider more values falsey than just false and null. Sass isn’t one of those languages! Empty strings, empty lists, and the number 0 are all truthy in Sass.