布尔返回的Javascript函数

Mat*_*nak 2 javascript boolean equality

我在Codecademy的Javascript教程4.1节中获得了一个正确的布尔返回问题.这是代码:

// Define quarter here.
var quarter = function(n) {
    if (n / 4 ){
        return true;
    } else {
        return false;
    }
};

if (quarter(4) === 1) {
  console.log("The statement is true.");
} else {
  console.log("The statement is false.");
}
Run Code Online (Sandbox Code Playgroud)

从我所看到的,我传递新定义的四分之一变量一个参数为'n'的函数,然后我除以4,看它是为true返回1,还是0(else)为false.然后我在if循环中使用'quarter'函数来检查传递为'n'的数字'4'中的1的相等性.

我假设这是一些我不习惯使用的基本逻辑(作为一个希望进入JavaScript编程的前端开发人员),但我肯定会欣赏一些想法和指导.

Poi*_*nty 13

在JavaScript中,常量truefalse不是数字; 他们是一个单独的类型.

此外,您将与之进行比较,===这将明确阻止比较期间的类型转换.

请注意,对于除"0"之外的所有"n"值n / 4都将为true(非零)(编辑您可能要使用%).一般来说,任何形式的构造:

if (expression) {
  return true;
}
else {
  return false;
}
Run Code Online (Sandbox Code Playgroud)

可以替换为:

return !!(expression);
Run Code Online (Sandbox Code Playgroud)

或者,或者,

return Boolean(expression);
Run Code Online (Sandbox Code Playgroud)

  • return !!(表达); 是布尔转换的相当可怕的捷径,但仍然 - 很好的答案 (3认同)