相关疑难解决方法(0)

小胡子和把手中的真实或虚假是什么?

在JavaScript中:

falsy: false, null, undefined, 0, -0, NaN, ""
truthy: everything else, including  [] and {}  (empty array and empty object)
Run Code Online (Sandbox Code Playgroud)

但在Handlebars中,似乎是(来自Handlebars的文档){{#if foo}}:

falsy: false, undefined, null, "", []
truthy: everything else, including 0, -0, {}
Run Code Online (Sandbox Code Playgroud)

undefined并且NaN不能作为JSON文件中的值列出,因此我无法使用Java Moustache渲染器对其进行测试,但是,如果我根本没有定义属性,那么它可能只是undefined因为它被视为假的.

上面的内容是为了{{#if foo}}让事情变得更复杂,只是{{#foo}}在Handlebars和Mustache中呢?truthy和falsy规则是否完全一样{{#if foo}}?如果可能,请提供指向文档的指示以支持您的声明.希望用PHP或Java或其他语言实现Mustache或Handlebars遵循完全相同的规则.

我还发现,对于Mustache,它似乎{{#foo}}被称为一个部分,其规则是:

falsy: whatever falsy in JavaScript, plus []
truthy: everything else
Run Code Online (Sandbox Code Playgroud)

但似乎can.js的Mustache/Handlebars的实现0视为虚假.(参见http://jsfiddle.net/kAt7E/45/ vs http://jsfiddle.net/kAt7E/46/http://jsfiddle.net/kAt7E/47/ vs …

mustache handlebars.js

7
推荐指数
1
解决办法
2400
查看次数

标签 统计

handlebars.js ×1

mustache ×1