真值与假值

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

真值(Truthy)

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

如下例,字符串 “Tobi” 虽不是布尔类型,但是其在条件判断时被当做真值(truthy):


{% assign tobi = "Tobi" %}

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

字符串(String),即便是空字符串,也是真值(truthy)。如下例,如果 settings.fp_heading 是个空字符串将会输出空 HTML 标签:

输入


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

输出

<h1></h1>

假值(Falsy)

在 Liquid 中,nilfalse 是假值。

总结

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

  真值(truthy) 假值(falsy)
true  
false  
nil  
string  
empty string  
0  
integer  
float  
array  
empty array  
page  
EmptyDrop