虽然我们希望 Liquid 是平台无关的,但 JavaScript 版本和 Ruby 版本 仍然有很多区别,真值就是其中之一。
真值表
根据 Shopify 的文档,Ruby 版本除了 false 和 nil 之外的所有值都是真,但 JavaScript 有完全不同的类型系统,比如我们有 undefined 类型,以及不区分 integer 和 float,因此有些不同:
| 值 | 真 | 假 |
|---|---|---|
true |
✔️ | |
false |
✔️ | |
null |
✔️ | |
undefined |
✔️ | |
string |
✔️ | |
empty string |
✔️ | |
0 |
✔️ | |
integer |
✔️ | |
float |
✔️ | |
array |
✔️ | |
empty array |
✔️ |
使用 JavaScript 真值
liquidjs 默认使用 Shopify 的真值表,但可以通过设置 jsTruthy 选项为 true 来使用标准的 JavaScript 真值。
| 值 | 真 | 假 |
|---|---|---|
true |
✔️ | |
false |
✔️ | |
null |
✔️ | |
undefined |
✔️ | |
string |
✔️ | |
empty string |
✔️ | |
0 |
✔️ | |
integer |
✔️ | |
float |
✔️ | |
array |
✔️ | |
empty array |
✔️ |