巴克库
发布于:2025-01-02
编程时,在条件判断中任何返回 true 的都被叫做 真值(truthy)。任何返回 false 的都被叫做 假值(falsy)。所有的对象(object)类型都可以被描述为真值(truthy)或假值(falsy)。
除了 nil 和 false 之外的所有值都是真值。
如下例,字符串 “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>
在 Liquid 中,nil 和 false 是假值。
下表总结了在 Liquid 中什么是真值什么是假值。
| 
 | 真值(truthy) | 假值(falsy) | 
|---|---|---|
| true | • | 
 | 
| false | 
 | • | 
| nil | 
 | • | 
| string | • | 
 | 
| empty string | • | 
 | 
| 0 | • | 
 | 
| integer | • | 
 | 
| float | • | 
 | 
| array | • | 
 | 
| empty array | • | 
 | 
| page | • | 
 | 
| EmptyDrop | • | 
 |