问题标签 [falsy]
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.
javascript - JavaScript中的真假真假有什么区别?
我对 JavaScript 中的一些概念有疑问,例如(truthy, true)
和(falsy, false)
。
我知道 1 的类型不是true
,但问题是:为什么1 == true
?
ECMAScript 将 1 或“ghsagh”视为 的主要原因是true
什么?
我也无法理解truthy
and的含义falsy
。
这种考虑有什么好处?!
javascript - 为什么解构赋值不知道空值是假的并使用默认值?
假设我们有一个函数在参数的内部对象中使用了一些键:
如果我们将{}
, { data: '' }
, { data: 0 }
, { data: NaN }
or{ data: undefined }
传递给函数,我们将看到:
并且不会看到任何错误,因为解构赋值看到data
is falsy 并使用 = {}
而不是name
will be undefined
。
问题:为什么当我们传递null
给数据键时解构赋值返回错误?
javascript - 此条件在检查假值时返回布尔值,但在检查真值时返回字符串。我怎样才能让它工作?
在检查虚假值时我得到一个布尔值,但在检查一个真实值时没有布尔值......我只是得到一个字符串。
这行得通。
但这不是,因为我只返回一个字符串。
虽然,我可以通过以下方式达到预期的结果......这似乎不是最好的前进方式。
我如何能够检查字符串的真值并得到布尔值(而不是字符串)?
javascript - 从 javascript 数组中删除所有虚假值,包括 NaN 但不包括 0 和空字符串
我有以下数组:
我想filter()
排除除and之外的所有falsy
值。''
0
我知道有一个有用的速记:
但这会删除所有falsy
值,包括 ''
and 0
。
我尝试了以下方法:
它几乎是正确的......但它不会删除NaN
.
有什么方法可以达到与最后一个示例相同的结果,但也可以删除NaN
?
handsontable - Handsontable 7.4 具有虚假值 (0) 的下拉单元格显示占位符
我正在寻找一种在下拉列表中显示数值 0 的方法,该下拉列表还包括单元格为空时的占位符文本。目前,如果选择 0,则占位符文本会显示出来。我希望有一个内置选项,如果可以的话,我想避免将数字转换为字符串并返回(这会破坏我当前的验证方案)。以下示例是根据 HandsOnTable 下拉文档修改的。“机箱颜色”列包含问题。
jsfiddle: https ://jsfiddle.net/y3pL0vjq/
片段:
javascript - 如何检查此函数是否为真,或者如果为假则返回一个空数组?
我正在看这个作业,我的问题是关于最后加粗的部分:
在这里,我们将编写一个模拟购物和检查杂货清单上的东西并向我们的清单中添加新项目的函数。
编写一个名为 removeItem 的函数,它有两个参数,第一个是
myGroceryList
,第二个是要从中删除的项目myGroceryList
。如果第二个参数(或要添加或删除的项目)与 中的项目匹配myGroceryList
,则从您的购物清单中删除该项目并返回新的、更新的购物清单。一旦你这样做了,写另一个函数
addItem
,它有两个参数,第一个是myGroceryList
,第二个是要添加到你的购物清单的项目。addItem
添加您传入的项目,然后myGroceryList
返回新的、更新的购物清单。在 removeItem 和 addItem 中检查“myGroceryList”和“item”参数是否真实。如果不是,则返回一个空数组。
以下是调用函数的一些示例以及应返回的内容:
这是我的代码:
我怎样才能让这最后一步起作用?
boolean - 什么类型的编程语言具有虚假值?
据我了解,动态类型语言具有一个或多个虚假值。静态类型语言只有一个虚假值。
因为静态类型语言总是只有一个 falsy 值,所以谈论静态类型语言的 falsy 值是没有意义的。
当我写这篇文章时,我想知道......所有动态类型的语言都有两个或更多的虚假值吗?或者说一个或多个更安全?
javascript - 如何检查变量是否不是假的,但 0 在 Javascript 中通过
是否有一种优雅的方法来检查变量是否不虚假但如果为 0 它通过了。这种验证方式的问题
if(var !== undefined && var !== null)
在于它很长并且不能涵盖所有情况,例如undecalred
or NaN
。我也在使用打字稿并将其声明为可选数字。
javascript - 用于测试假值的运算符,将零视为真值
是否有与x === 0 ? true : !!x
. 此表达式的目标是避免将零排除为虚假值,同时确保将其他虚假值转换为false
.
javascript - 数据库字段的值为“空”与字段不存在有什么区别?两者都不假吗?
我有以下问题:
现在dataset.barcode
来自数据库......目前在模式中字段条形码不存在。所以我不知道有什么价值,barcodeValue
但我认为它是undefined
,并且 console.logging 它证实了这一点..
但是,如果我在数据库中添加条形码字段并将其保留为空,barcodeValue 将被视为虚假并且工作正常..因此空字段的值是虚假的,但不存在字段的值(即使它显示为undefined
) 不是假的..
但是如果数据库中不存在条形码字段,我认为它会存在undefined
并且它仍然可以工作。但它没有..我试图用谷歌搜索但找不到解释..
如果上述问题没有激怒您(就像我之前的查询一样)并且您可以将其视为真正的查询,我将不胜感激。
这是按钮
这是在事件中发送的论点
这是当数据库字段不存在时不响应的代码(即使它显示为undefined
当我 console.log 它时