真值与假值

巴克励步

发布于:2025-01-02

编程时,在条件判断中任何返回 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
 
提交反馈