关于 Boolean 的转换
2016-12-21 10:06
190 查看
前端经常喜欢这样写 if else
javascript 能智能的把任何类型的 value 转换成 boolean 来进行 if 判断
转换是这样的
逻辑是 :
for string : 只有 length = 0 时是 false
for number : 只有 = 0 时是 false
object, array, datetime 总是 true
undefined null 总是 false
除了 if(value) 我们也经常把 2 个不同的类型做对比
if("z" == true)
js 会把他们强转成相同的类似来对比. 至于传谁, 我忘记了. 转法是 new String(true);
if(value) { //do something }
javascript 能智能的把任何类型的 value 转换成 boolean 来进行 if 判断
转换是这样的
if("" == true) //不是这样哦 { console.log("z"); } if(new Boolean("")) //是这样 { console.log("z"); }
逻辑是 :
console.log(new Boolean("") == false); console.log(new Boolean("a") == true); console.log(new Boolean({}) == true); console.log(new Boolean([]) == true); console.log(new Boolean(0) == false); console.log(new Boolean(1) == true); console.log(new Boolean(100) == true); console.log(new Boolean(undefined) == false); console.log(new Boolean(null) == false); console.log(new Boolean(new Date()) == true);
for string : 只有 length = 0 时是 false
for number : 只有 = 0 时是 false
object, array, datetime 总是 true
undefined null 总是 false
除了 if(value) 我们也经常把 2 个不同的类型做对比
if("z" == true)
js 会把他们强转成相同的类似来对比. 至于传谁, 我忘记了. 转法是 new String(true);
相关文章推荐
- js基础之关于Boolean及相等运算符的隐式类型转换
- 关于日期转换的心得
- A Boolean wrapped with string (如何将布尔变量转换为字符串变量--写给java初学者)
- T-SQL: 关于 Varbinary(Hex,Int) 与 Varchar(HexString) 之间的(数据类型)转换
- 关于VB日期与数字的转换(一)
- 关于各种字符类型的指针的转换
- 关于投影和坐标转换的文章
- 关于老干部、65岁以上老年人乘车优待证转换公交IC卡的通知
- .NET关于string转换的一个小Bug
- 关于VB日期与数字的转换(一)
- 关于字符串的用法和转换补遗:
- 关于转换的一些收集
- 关于.Net中类型转换---ToInt32
- 关于如何把带有千分符浮点数字符串转换成double类型
- 关于Oracle日期转换的一点小经验:运用union的一种奇怪现象及解决
- 关于天文数字十进制与十六进制间的转换
- 关于错误:不能将licenses.licx文件转换成二进制,error lc0003 !
- 关于datagrid中的字符串转换
- 关于vb的类型转换
- 关于2进制,8进制,16进制间的转换问题