问题标签 [truthiness]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
367 浏览

raku - Raku 中的真值和假值是什么?

虽然总是可以使用 mixins 或方法覆盖来修改 Bool 强制,但默认情况下哪些值被认为是真实的,哪些值被认为是虚假的?

注意:这个问题以前被问过,但不幸的是它太老了,它的内容已经完全过时了,现代的 Raku 毫无用处。

0 投票
1 回答
405 浏览

elixir - 测试守卫的真实性

我可以使用警卫来测试参数是否为true

这对布尔值按预期工作:

但它无法测试其真实性:

是否可以测试警卫的真实性?例如,下面的函数可以使用上述风格的守卫来编写true?/1吗?

0 投票
1 回答
125 浏览

javascript - 在 Javascript 中将比较 (< >) 运算符与非数字字符串一起使用

我试图弄清楚当我使用 < 或 > 运算符将数字与 javascript 中的非数字字符串进行比较时发生了什么。

当我在 JS 中进行以下比较时

它总是评估为假。

在这个比较中,每一方发生了什么?y 变成了什么?号码呢?

0 投票
3 回答
97 浏览

javascript - TypeScript 中的以下条件有什么区别?

这两个条件有什么区别?不会一样吗?

0 投票
4 回答
42 浏览

javascript - 与 `{}` 和真实性进行比较

我有一个 API 调用我来{}获取我需要替换的参数。但是遇到麻烦……你能猜到下面会发生什么吗?

因此,鉴于它既真实又无法比较,我想知道如何替换它?

我也很想知道为什么,引擎盖下正在进行什么对象比较。

我的理解是:

  • ==按值测试相等(比较)
  • ===通过引用测试相等(指向内存中相同对象的指针)。

但我想我需要对对象进行实际比较?我习惯于使用单元测试框架在哪里toBe()或在哪里toEqual工作toDeepEqual

WAT!

0 投票
4 回答
51 浏览

javascript - //(typeof(myVar) != "undefined")// 逻辑上等价于真值 //if (myVar) 吗?

在一个大型项目中,我通过显式检查是否使用 typeof 设置了变量来进行大量异常处理。这有点冗长,我想将我的习惯改为简单的真实:

在下面的代码段和其他一些测试中,它们似乎是等效的。然而,在我进行全面的代码更改(并替换数百个)之前,我想确认它们在逻辑上是等效的,并了解任何可能让我受益的边缘情况。

0 投票
2 回答
86 浏览

javascript - !obj[key] 是检查 JavaScript 中对象属性是否存在的好习惯吗?

时不时地,我看到这种模式:

但我发现它非常错误。如果实际上 obj[key] 有值falseor''怎么办?那么代码对我来说没有任何意义。

我经常看到这个有什么原因吗?为什么人们不使用.hasOwnProperty()来检查 a 是否key作为对象的属性存在?

0 投票
0 回答
24 浏览

javascript - 当我测试真实性时,为什么我的 Object.create(null) 值为真而 null 为假?

我正在尝试自己确认空对象是否为假。首先,我尝试使用 Object.create(null) 创建一个空对象。然后我决定针对 null 测试这个对象。

我写了一段代码来检查真实性:

但我的输出如下:

不是空的nullObject也不是未定义的,但为什么它没有与 相同的真实值null?这些不是null对象类型的两个值object吗?

0 投票
1 回答
59 浏览

python - 检验 Pandas 系列中值的真实性

在 pandas 中,是否可以构造一个布尔系列来使用自定义对象进行索引?

IE

返回

我想要的是这样的

或类似的,以便我可以使用 .first_valid_index() 来获取不同函数中的第一次出现。

有没有办法检查一个对象的“真实性”来构造新的系列?

0 投票
1 回答
21 浏览

javascript - 一次检查大量变量的真实性

我有一个包含许多字段和一个特殊处理函数的大型表单在
函数开头声明了几个不同类型的变量

我想检查用户是否在函数执行之前设置了所有变量

我想抓住a5,因为它是一个空字符串

如果我们有 5 个以上的变量并且不是很优雅,则变体 1 不可读
变体 2 更加优雅和清晰,但不适用于非布尔类型的变量

如何一次检查大量变量?