Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 此条件在检查伪值时返回布尔值,但在检查真值时返回字符串。我怎样才能让它工作?_Javascript_Variables_Falsy_Truthy - Fatal编程技术网

Javascript 此条件在检查伪值时返回布尔值,但在检查真值时返回字符串。我怎样才能让它工作?

Javascript 此条件在检查伪值时返回布尔值,但在检查真值时返回字符串。我怎样才能让它工作?,javascript,variables,falsy,truthy,Javascript,Variables,Falsy,Truthy,我在检查伪值时得到布尔返回值,但在检查真值时得到的不是布尔返回值。。。我只是得到一根绳子 这很有效 const isFalse = !values.firstName && !values.lastName && !values.email; 但这不是,因为我只返回了一个字符串 const isValid = values.firstName && values.lastName && values.email; 虽然,我可以通

我在检查伪值时得到布尔返回值,但在检查真值时得到的不是布尔返回值。。。我只是得到一根绳子

这很有效

const isFalse = !values.firstName && !values.lastName && !values.email;
但这不是,因为我只返回了一个字符串

const isValid = values.firstName && values.lastName && values.email;
虽然,我可以通过以下几点达到预期的效果。。。这似乎不是最好的前进之路

const isValid = values.firstName && values.lastName && values.email ? true : false;

我怎样才能检查字符串的真实值并得到布尔值,而不是字符串?

哇,这太快了。我发现,你可以做一个双重否定,以达到同样的结果,并得到它的工作!!双关语

const isValid = !!(values.firstName && values.lastName && values.email);

好吧,Javascript有时会很奇怪。。。我不知道发生这种情况的确切原因,但我可以告诉您如何获取布尔值:

const isValid = !!values.firstName && !!values.lastName && !!values.email;

奖励:要想开怀大笑,请勾选此项:

这是否回答了您的问题?检查投票率最高的答案,而不是被接受的答案。@Ivar不太合适。!不要把真实的价值变成虚假的价值,它会把真实的价值变成虚假的,把虚假的价值变成真实的。谢谢你们的参与。我碰巧同时得到了这个答案。显然有人不喜欢这个答案……我为那个朋友感到抱歉,但不是我。显然有人也不喜欢我的问题@感激啊,你的问题有赞成票,没有反对票?@xurei击败了我。。。他们刚刚结束了这个问题。在任何情况下,对于喜欢触发的人来说,这个地方有时会很奇怪。这些年来,我学会了带上我需要的东西离开这里虽然这是正确的,但它并没有回答为什么在检查伪字符串值时此javascript条件返回布尔值,而在检查真值时返回字符串?我编辑了这个问题,以反映我实际寻找的答案。谢谢你,我明白了。基本上你要做的是values.everyv=>v或['g','r','@'].everyv=>v@嗯。。。感谢您分享“每一个”。。。但对于我所需要的东西来说,这是一种过度的杀伤力。所以这两个否定就足够了,谢谢。