问题标签 [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.
php - 为什么 SplFileInfo 不能转换为布尔值?
PHP 的限制之一是对象总是计算为true
. 但是SplFileinfo
(以及 Symfony 等子类UploadedFile
)的行为不同:
这是一个错误吗?在 5.3 和 5.4 中测试。也发生在SplFileObject
. 可能的相关问题。还有一个 2011 年的 Symfony 问题。
string - Perl 中是否有一个字符串等于 eq 下的所有其他字符串?
我正在运行这样的字符串相等检查:
无论字符串文字是什么,是否有一个值myString
会导致执行进入结构?if
arrays - What is the bash equivalent of Python's all?
In a part of a bash script I'm writing, I'd like to check if any of the variables in a list are unset.
In Python, there is a built-in function all
that returns True
if all elements in an iterable are true:
Is there something similar in bash? Currently the way I'm doing this is by looping through each variable and setting a variable / breaking out of the loop if it encounters a variable that is null or an empty string, e.g.
...but perhaps there's a more optimal way of checking this?
ruby - 为什么真值&&“字符串”返回“字符串”
假设我有类似的东西
这是有道理的,所以我尝试类似:
这让我感到惊讶,因为我经常会做类似的事情if something && something
,我一直认为那是评估为真并且会返回真。进一步的实验做这样的事情:
看起来 Ruby 要么返回最后一个值,要么返回它找到的第一个假值。为什么这样做?这是一个正确的心理模型吗?
javascript - 如果(负数)为真?js有什么问题吗?
js有什么问题吗?
基本上if(-1)
是真的。这怎么可能?我花了一整天的时间来解决这个问题。是否有列出此类内容的列表?或可用于捕获此类事物的工具。
javascript - 空数组是否总是被解释为 TRUE?
所有浏览器版本都是这种情况吗?意思是,一个空数组总是被认为是 TRUE 而不是 FALSE 作为布尔表示?
javascript - (A == B == C) 比较如何在 JavaScript 中工作?
我期待以下比较给出错误:
但奇怪的是它返回了false
。
更奇怪的是,
返回true
。
这种“三元”比较是如何工作的?
javascript - 为什么 {} == false 会抛出异常?
在 IE 和 Chrome 中,在 JavaScript 控制台中输入此代码会引发异常:
但是,所有这些语句的评估都没有问题:
这是故意行为吗?为什么会这样?
javascript - 如果 ([] == false) 为真,为什么 ([] || true) 会导致 []?
只是在做一些测试,我发现这很奇怪:
给出 true,这是有道理的,因为 double equal 只比较内容而不是类型,并尝试进行类型强制。但是如果它比较内容并返回 true,这意味着 [ ] 是错误的(如果你也[] == true
得到了错误),这意味着:
应该给假,但它给[],使它成为真?为什么?
另一个例子:
给出真实的,但"\n " || false
给出"\n "
?是否有对此的解释,或者它只是一个奇怪的东西。
当我在 C 中尝试这个时,我们得到:
输出:
这是有道理的,但鉴于 C 对 Javascript 的影响,行为是不同的。
python - 对象具有价值但似乎不存在?
我有以下 Python 代码:
我在调试器中单步执行它,并注意到即使bedroom == 0
,流程也会跳转到else
语句。
为了测试这一点,我尝试了:
有人可以解释这里发生了什么吗?