Javascript 使用 if 语句声明变量

Javascript declare variable with if statement

本文关键字:声明 变量 语句 if 使用 Javascript      更新时间:2023-09-26

我毫不怀疑这是一个重复的问题,但我找不到正确的搜索词。

我想要一个速记变量声明,如果它为 false,则不会定义。我记得它看起来像这样:

 var jamie = jamie : 'or maybe not';

如果这更容易理解,这就是我真正想要实现的目标。

    if($('body').hasClass('loggedin')){
        var loggedin = true;
    }

记住,我不知道它是什么。

 var jamie = someVarThatCanBeUndefined || 'or maybe not';

您可以使用上述方法进行合并

这是一个包含更多详细信息的答案JavaScript 中是否有"空合并"运算符?

如果您想要if的速记符号

试试这个:

boolCondition ? "OneStringForTrue" : "AnotherForFalse"

这通常被称为

Conditional (Ternary) Operator (?:) (JavaScript)
var jamie = jamie || 'or maybe not';

就这么简单。

已经有 Class 布尔值:

var loggedin = $('body').hasClass('loggedin');

首先,初始化 loggedIn 的最简单方法是简单地为其分配 hasClass 的返回值,这是一个布尔值:

var loggedin = $('body').hasClass('loggedin');

您记得的是使用逻辑 OR 运算符为变量提供默认值的简短方法,该运算符返回计算结果为 true 的第一个值或最后一个值(如果全部为 false):

jamie = jamie || 'or maybe not'; // identical to if (!jamie) jamie = 'or maybe not';

最后,|| 运算符在某些边缘情况下失败,其中变量的初始值为 falsy:

function f(number) {
  number = number || 10; // if number is not provided, default to 10
  console.log(number);
}
f(0) // whoops, number was provided, but it will log 10 instead.

在这种情况下(通常发生在您只想检查 nullundefined 时),并非所有 falsy 值,您可以使用条件运算符:

number = number != null ? number : 10;

它稍微啰嗦一些,但仍然是一种提供默认值的优雅方式。