gpt4 book ai didi

javascript - 使用 || 的这段代码的确切含​​义是什么? ("OR") 运营商?

转载 作者:行者123 更新时间:2023-11-29 17:29:51 31 4
gpt4 key购买 nike

我在某处看到这段代码片段:

var idx = SOME_VALUE;

var color = {
yellor: 1,
red: 2,
black: 0
};

var x = color[idx] || []; // Is this means if color[idx] is null, then return an empty array?

我只能猜代码var x = color[idx] || []; 表示如果 color[idx] 为 null,则返回一个空数组给 x,否则 x= color[idx]。我说得对吗?

不过,我需要一个解释。这段代码和下面的逻辑是一样的吗?

CONDITION==VALUE? TRUE_goes_here : FALSE_goes_here

最佳答案

这意味着如果 color[idx] 是“falsy”,则改用空数组。 “Falsy”值为 false(当然)、0NaN""undefined null(所有其他值都是“truthy”)。该成语是 JavaScript 的 curiously powerful || operator 的一个例子。 *.

在这种情况下,如果 color 不包含名称由 idx 包含的属性(因为当您索引到这样的对象时并且该键不匹配任何现有属性名称,结果为 undefined):x 将为 1(如果 idx 是“yellor”),2(如果 idx 是“red”),0(如果 idx 是“黑色”),或者 [] 如果 idx 是其他任何东西。

所以在你问题的最后回答你的问题,基本上,是的。这是:

var x = color[idx];
if (!x) {
x = [];
}

var x = color[idx] ? color[idx] : [];

* (这是我贫血的小博客上的帖子。)

关于javascript - 使用 || 的这段代码的确切含​​义是什么? ("OR") 运营商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5706372/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com