问题标签 [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 回答
89 浏览

typescript - 打字稿可选功能真实检查

我想我错过了一些关于如何在 Typescript 中使用 && 检查真实值的基本知识。

为什么 props.function 在 test1 中仍然是未定义的,并且必须像我在 test2 中那样进行检查。

编辑 1:添加到操场的链接

链接到Typescript 游乐场

0 投票
3 回答
82 浏览

javascript - Javascript:使用“!!” 在布尔上下文中

是否有任何理由在布尔上下文中使用!!someValue(相当于Boolean(someValue)) ?换句话说,在这种情况下,写作有意义吗?if (someValue) ...if (!!someValue) ...

它伤害了我的眼睛,我认为它是多余的,但我想验证没有任何边缘情况需要它 - 因为我遇到了一个代码库,这似乎是检查真实性的默认方式。

澄清:是的,在一般情况下!!someValue将转换someValue为布尔值;我指的是运行时将自动转换someValuetrueor的上下文false

0 投票
0 回答
22 浏览

javascript - .every() 原型没有按预期工作

显然它适用于人们,所以我必须只是愚蠢,但我通过 .every() 原型传递了一个布尔数组,它似乎总是返回 true,即使它不应该。所以这是代码

进行了函数调用

然后这个函数执行。

对于测试用例,此函数使用 React 状态变量“cardStyle”,它等于 [false,false,false,false,false](布尔值,不是字符串)和“rowCount”,它等于 1。然后有一个全局变量 lengthTest最初等于 5。

奇怪的行为是无论如何,条件 (arr.every((x) => x === true)) 似乎总是评估为真,因为警报框总是弹出。我错过了什么?