相关疑难解决方法(0)

字符串中的javascript null值

在javascript中我有以下内容:

var inf = id + '|' + city ;
Run Code Online (Sandbox Code Playgroud)

如果id或city为null,则inf为null.

是否有任何光滑的方式说如果id或city为null则为空.

我知道在c#中你可以做到以下几点:

var inf = (id ?? "") + (city ?? "");
Run Code Online (Sandbox Code Playgroud)

在javascript中有任何类似的方法吗?

javascript

6
推荐指数
3
解决办法
2万
查看次数

javascript null条件表达式

可能重复:
javascript的null合并运算符?

在C#中,您可以这样做:

var obj = newObject ?? defaultObject;
Run Code Online (Sandbox Code Playgroud)

这表示,分配newObjectobj如果没有别的空分配defaultObject.我如何用javascript写这个?

javascript operators null-coalescing-operator

6
推荐指数
1
解决办法
3179
查看次数

在Javascript变量声明中使用逻辑AND

我对使用&&这样的声明变量的实际应用感兴趣:

var x = undefined && 4;

// Evaluate to the first falsey value
// or else the last value.

eval(x);
// undefined
Run Code Online (Sandbox Code Playgroud)

我理解如何评估价值(参见本答复).我也理解它的姐妹||(参见这里有一个很好的描述)以及为什么用以下表达式声明变量是有用的:

// Some other variable
var y;

var x = y || 4;

// Evaluate to the first truthy value
// or else the last value.
Run Code Online (Sandbox Code Playgroud)

实际上:使用第一个值,除非第一个值为false; 如果是这样,请使用最后一个值.我们可以||在浏览器控制台中演示这个特性:

> null || 4
  4
> 4 || null
  4

> null || undefined
  undefined
> undefined || null …
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
1
解决办法
984
查看次数

如何仅在嵌套对象具有值时对其进行解构?

  let notStudent, name, isRegistered
  if (studentDetail && studentDetail.fields) {
    ({ notStudent, name, isRegistered } = studentDetail.fields)
  }
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有 if 语句的情况下或以简洁的方式编写此逻辑?

javascript

5
推荐指数
1
解决办法
77
查看次数

有没有一种巧妙的方法可以在 JavaScript 中进行未定义的合并?

我正在寻找一种在 javascript 中使用布尔值进行未定义合并的方法。我习惯于执行以下操作,例如,正整数:

var x = i1 || i2 || i3 || i4;
Run Code Online (Sandbox Code Playgroud)

这是一种“巧妙”的方式,但不是我所追求的。我正在寻找??C# 中的等效项。

var b1 = undefined;
var b2 = null;
var b3 = false;
var b4 = true;
var x = b1 || b2 || b3 || b4; //x == true (b4)
Run Code Online (Sandbox Code Playgroud)

但是,我希望上面的内容在 false 上“停止”(在未定义或 null 上合并,但不是 false)。我正在执行此操作的应用程序类似于以下内容:

var threshold = argv[2] ?? process.env.threshold ?? config.threshold ?? 0.3;
var verbose = isTrue(argv[3] ?? process.env.verbose ?? config.verbose ?? false);
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种巧妙的方法来做到这一点,类似于||运算符,而不是:

var verbose …
Run Code Online (Sandbox Code Playgroud)

javascript null undefined null-coalescing-operator

4
推荐指数
1
解决办法
1098
查看次数

在Javascript中,是否有一个单词同时覆盖Null和Undefined?

我有时不得不在Javascript编写代码,说明如何处理nullundefined相同的方式,例如,一个函数,从数组中的每一项是会删除nullundefined。我该如何命名功能?

removeNullAndUndefined很长 removeNull简短但不精确。理想情况下,我想将它命名removeX,其中X的含义“null或undefined”。有谁知道一个好词X吗?

javascript naming

4
推荐指数
1
解决办法
76
查看次数

“||”是什么意思 在 var 语句中是什么意思?

可能的重复:
javascript 的空合并运算符?
“选项=选项||”是什么意思 {}”在 Javascript 中是什么意思?

有人能解释一下这个表达吗?我偶然发现了 javascript 代码行,我想知道它是什么意思。

var node = element.node || element[element.length - 1].node;
Run Code Online (Sandbox Code Playgroud)

node get 的用法如下:

if (node.nextSibling) {
            node.parentNode.insertBefore(this.node, node.nextSibling);
        } else {
            node.parentNode[appendChild](this.node);
        }
Run Code Online (Sandbox Code Playgroud)

起初我虽然 node 应该是一个布尔值或其他东西,但它不是。如果我认为意思是: node 是 element.node 但如果 node 属性是 undefined node 是元素数组中的最后一个元素,我是否正确?

javascript

3
推荐指数
1
解决办法
339
查看次数

3
推荐指数
1
解决办法
89
查看次数

可选链“全部向右”?

对于深度嵌套的属性访问,是否有一个类似于“可选链接”运算符的 JS 运算符,适用于所有属性/方法/等。向右

考虑一个具有深度嵌套的对象,其中某些属性为 null:

const sort = payload.meta.displayConfig.properties.search.sort;
//                        ^---null?     ^---null?  ^--null?
Run Code Online (Sandbox Code Playgroud)

这可以使用可选链运算符来处理:

const sort = payload.meta.displayConfig?.properties?.search?.sort;
Run Code Online (Sandbox Code Playgroud)

但是是否还有另一个运算符,其中“所有右侧调用”的处理方式就好像它们前面有可选链运算符一样?观察:

const sort = payload.meta.displayConfig?!.properties.search.sort;
//                                     ^^---fictional nested-optional-chaining 
//                                          operator
Run Code Online (Sandbox Code Playgroud)

在此示例中(使用虚构的?!嵌套可选链运算符),如果从displayConfig右侧 ( properties, search) 开始的任何内容均为 null 或未定义,则执行会短路,就好像每个属性前面都有?

是否有关于添加这样的功能的讨论?

javascript

3
推荐指数
1
解决办法
1086
查看次数

什么是??三元运算符意味着使用react和javascript?

我有如下代码,

const output = (data?.item?.someItem?.count ?? 0) === 0;
Run Code Online (Sandbox Code Playgroud)

在这种情况下输出的值是多少?上面那行的意思是。有人可以帮我理解这行代码吗?

我是编程新手。谢谢。

javascript

3
推荐指数
1
解决办法
927
查看次数