真值与假值

编程时,在条件判断中任何返回 true 的都被叫做 真值(truthy)。任何返回 false 的都被叫做 假值(falsy)。所有的对象都可以被描述为真值(truthy)或假值(falsy)。

真值

在 Liquid 中除了 nilfalse 之外的所有值都是真值。

在下面的例子中,字符串 “Tobi” 虽不是布尔类型,但是其在条件判断时被当做真值:


{% assign tobi = "Tobi" %}

{% if tobi %}
  This condition will always be true.
{% endif %}

字符串, 即便是空字符串,也是真值。如下例,即使 settings.fp_heading 是个空字符串也会输出空 HTML 标签:

输入


{% if settings.fp_heading %}
  <h1>{{ settings.fp_heading }}</h1>
{% endif %}

输出

<h1></h1>

假值

在 Liquid 中,假值是 nilfalse

总结

下表总结了在 Liquid 中什么是真值什么是假值。

  真值 假值
true  
false  
nil  
string  
empty string  
0  
integer  
float  
array  
empty array  
page  
EmptyDrop