【Web前端问题】这个结果是什么?
这个题是什么意思 不明白
回答:
隐式转换,这些题目有点无聊,现在已经很少有这种作为面试题了吧。
+true
是通过隐式转换转为数字,相同的做法还有+new Date()
直接转为数字类型1570358927845
。
这是一种历史遗留问题,也属于奇技淫巧的一种。足够简洁但这种不显式很多 eslint config
中被禁止使用
!"Lydia"
拆开来看,"Lydia"
是一个非空字符串,也就是真值。!
是取反操作符,取反后得到一个布尔值。那么将真值取反为就是false
。这个考验的就是你对真假值的认识。
注意真值并不一定是布尔值true
, 假值也不一定是false
。比如数字0
是假值,数字1
、0.1
以及字符串"0"
都是真值.
关于真假值得辨认可以看看这篇文章的介绍。
回答:
1和false,
+布尔值,!字符串 会进行类型转换啊。
回答:
一元正号运算符(+)位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试(就像使用 Number() 转型函数一样)将其转换成一个数值。
// 对于 Boolean 值,true 转为数值时为 1,false 则是转换为 0+true; // 1
而后者,也就是逻辑非操作符(!),它总是会返回一个布尔值。因此,它会将操作数先转换为一个布尔值,然后对其进行取反。
// 非空字符串被转为布尔值时,为 true,对其取反则为 false!"Lydia"; // false
以上是 【Web前端问题】这个结果是什么? 的全部内容, 来源链接: utcz.com/a/137338.html