【发布时间】:2011-06-11 17:20:36
【问题描述】:
显式检查布尔值是否被认为是不好的。做一个简单的if(success)会更好吗?
我看到过各种笑话,说 if (someBoolean === true) 在强类型语言中是可怕的代码,但在弱类型语言中也被认为不好?
这适用于任何对 if 语句进行类型强制的弱类型语言。
一个具体的例子是:
var onSuccess = function (JSONfromServer) {
// explicitly check for the boolean value `true`
if (JSONfromServer === true) {
// do some things
}
}
// pass it to an ajax as a callback
doSomeAjax(onSuccess);
[编辑]
在这种特殊情况下,成功变量是从服务器返回的任何有效 JSON。所以它可以是任何东西。如果它的布尔值为真,那么就成功了。如果它是一些错误处理对象,那么它将被处理。如果是其他事情,那么它可能会被悄悄地处理。
问题是让服务器以 JSON 格式返回 true 并检查处理操作成功情况的好方法。
不过,我想避免特定于 JavaScript 和 AJAX。
【问题讨论】: