当前位置: 首页 > 知识库问答 >
问题:

if语句中的布尔值

阎枫涟
2023-03-14

今天我得到了一个关于代码的评论,考虑到我在学校作业中检查变量是真还是假的方式。

我编写的代码如下所示:

var booleanValue = true;

function someFunction(){
    if(booleanValue === true){
        return "something";
    }
}

他们说这样写更好/更整洁:

var booleanValue = true;

function someFunction(){
    if(booleanValue){
        return "something";
    }
}

例如,0和1不应该在该变量中。

共有1个答案

彭鹭洋
2023-03-14

首先,事实:

if (booleanValue)

将满足booleanvalue的任何truthy值的if语句,包括true、任何非零数字、任何非空字符串值、任何对象或数组引用等...

另一方面:

if (booleanValue === true)
if (someVar == true)
var x;

x = 0;
console.log(x == true);   // false, as expected
console.log(x == false);  // true as expected

x = 1;
console.log(x == true);   // true, as expected
console.log(x == false);  // false as expected

x = 2;
console.log(x == true);   // false, ??
console.log(x == false);  // false 
 类似资料:
  • 有人能用简单的英语解释一下这句话背后的逻辑吗? 假设mContainsLoadingRow为布尔值,如果< code>mContainsLoadingRow为< code>true, 然后返回< code > getContentDataSize()1 。 如果没有,则返回 这是正确的看待方式吗?

  • 我有一个问题,比较布尔值的if语句不起作用。最后一个if语句,其中notifFlag==true,如果我将它放在那里,它就不起作用了。日志显示notifFlag设置为true,但if语句未运行。但是,如果删除notifFlag==true,则if语句将运行。 带有标志得日志: 没有标志得日志:

  • 是否可以编写如下JPQL查询: <代码>选择计数(*) 这将根据实体填充条件是否存在返回真/假布尔值? 我想这样使用查询: 我示例中的查询在语法上不正确(解析错误),但是是否有任何正确的方法可以像在JPQL中那样进行检查,从而返回布尔值,或者只有在Java代码中才有可能?

  • 我正在使用返回true false的方法(例如方法containsKey of MutableList)。由于函数是用java写的,Kotlin把返回类型称为Boolean?这就是我得到一个编译错误的原因:“必需:布尔,发现:布尔?”.我必须说在某些情况下(不知道为什么)使用这个方法是可以的,有时它会返回上面的错误。有人能猜到是什么原因吗? 我的代码: 如果编译了第一个,则第二个会出错: 布尔类型

  • 我有这样的想法: 并想做添加到像这样的地方: 简而言之:如果secondValue的值不同于“0”,我不想设置生成器。相等(第二列)。如果可能的话,我想在构建器内部使用它,因为这个构建器非常长,所以我想避免代码重复。 问题是,如果条件不能在分号后为空,从另一方面来说,我不能在这个生成器表达式中使用正常的如果(秒值!=0)。 你能帮我吗?

  •  if 语句,就是类似于「如果○○的话,做●●」,根据条件判断脚本的一部分是否执行的语法。  语法如下: if(expression) 语句或语句块 else 语句或语句块  第一个“语句或语句块”是当 expression 表达式的结果为真时执行的部分,第二个“语句或语句块”则是结果为假时执行的部分。如果不需要 else 以后的部分,可以省略。 例: if(a==b) inform("a和b相等