最后更新:2020-04-07 12:51:21 手机定位技术交流文章
全文由1396个单词组成,预计需要7分钟来学习。

资料来源:unsplash
如何在JavaScript中将数值转换为布尔值?这篇文章将帮助你修复它!向下看~
线
conststring = ' string!!字符串;//真布尔值(字符串);//真
数字的
常量= 100;!!数字;//真布尔值(数字);//真
有效值
在JavaScript中,有六个虚拟值。如果这些字符串中的任何一个被转换为布尔值,它将变为false。
false未定义的null NaN 0 ' ' '(空字符串)
任何不是虚拟值的东西都会被转换为真。
例子
虚数的应用:
!!假的;//假!!未定义的;//假!!空值;//假!!NaN//假!!0;//假!!“;//布尔上下文中虚值的错误应用:
布尔型(假);//假布尔值(未定义);//假布尔值(空);//假布尔值(NAn);//假布尔值(0);// false布尔值(“”);// false
谨防“虚假”
constvalue = ' false!!价值;//真布尔值(值);//真
请注意,“假”必须写在引号之间。虽然它是一个虚拟值,但实际上是一个字符串。大多数人不会被困在这里,但他们仍然需要时刻保持警惕。

来源:digi香菇多糖
如何操作代码
首先!该值被转换为布尔值并被反转。在上下文中!值将变回虚拟值。所以为了把价值还原成真正的价值,另一个“!”在操作中,所以有两个!。
常量值= ' string!价值;//假!!价值;//真
转速试验
布尔vs!!
看起来像!!但是测试速度比布尔运算要快。

资料来源:unsplash
有些人更喜欢布尔,因为它更清晰。然而,KyleSimpson在“你不知道的JavaScript”中提到,两者都是清楚的。
//更好(显式工作):如果(!!a) { }//也很好(显式工作):if(布尔(a)) { }
这里没有标准答案,你可以根据自己的需要选择。作者将继续在个人发展项目中使用它!!它的类型较少,而且作者对这种语法很熟悉。
相反,如果被认为是一个团队,作者可以选择布尔。大多数开发人员能够更好地理解这一点。不管你选择哪一个,最重要的是保持代码的一致性,不要切换,选择一个并坚持下去。
这更像是一种偏好,不要剥夺自己理解这两个代码的权利。
避免新工具
使用原语而不是对象类型
var str = ' str//避免键入新的布尔值(字符串);//对象//首选类型的布尔值(字符串);//布尔类型!!str//布尔值
CJJ。值得注意的是,新布尔不是布尔,而是布尔的一个例子。原语更便宜,应该优先于对象类型使用。
Cjj。:newboolean (str)可以返回对象类型。布尔值(str)仅返回原始布尔值。我猜布尔(字符串)比!!Str更快。因为这只是一个操作,但也有可能优化浏览器,让程序员可以看到它!!他们知道如何将参数直接转换为布尔初始值(而不是连续两次实际执行NOT()。
CJJ。:原语很便宜,它们是不可变的,因此您可以共享引用,而不必在实例上保留任何状态。不是真的就是假的。
但是新工具是一个对象。它有自己唯一的存储地址,可以存储唯一的内部状态。这意味着它不能只保存对不可变单例实例的引用。每次运行新的布尔(字符串)实例化时,都会生成一个新的布尔(字符串)对象。
特别感谢:CJJ

来源:sitepoint
使用布尔构造函数删除空字符串
CJJ。:这是一个经典的例子。如果您得到一个逗号分隔的字符串值列表,并且想要过滤掉空字符串,您可以将布尔构造函数传递给Array.prototype.filter,它将自动删除零长度字符串,只留下一个有效的字符串数组。
var str= '一些,列表,of,值';var arr = str.split(',');arr//
评论、表扬和关注
让我们分享人工智能学习和发展的干货。
如果重印,请在后台留言并遵守重印规则。
本文由 在线网速测试 整理编辑,转载请注明出处。