【Web前端问题】这个结果是什么?

这个题是什么意思 不明白
图片描述

回答:

隐式转换,这些题目有点无聊,现在已经很少有这种作为面试题了吧。

+true是通过隐式转换转为数字,相同的做法还有+new Date()直接转为数字类型1570358927845

这是一种历史遗留问题,也属于奇技淫巧的一种。足够简洁但这种不显式很多 eslint config 中被禁止使用


!"Lydia"拆开来看,"Lydia"是一个非空字符串,也就是真值。!是取反操作符,取反后得到一个布尔值。那么将真值取反为就是false。这个考验的就是你对真假值的认识。

注意真值并不一定是布尔值true, 假值也不一定是false。比如数字0是假值,数字10.1以及字符串"0"都是真值.

关于真假值得辨认可以看看这篇文章的介绍。

回答:

1和false,
+布尔值,!字符串 会进行类型转换啊。

回答:

一元正号运算符(+)位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试(就像使用 Number() 转型函数一样)将其转换成一个数值。

// 对于 Boolean 值,true 转为数值时为 1,false 则是转换为 0

+true; // 1

而后者,也就是逻辑非操作符(!),它总是会返回一个布尔值。因此,它会将操作数先转换为一个布尔值,然后对其进行取反。

// 非空字符串被转为布尔值时,为 true,对其取反则为 false

!"Lydia"; // false

以上是 【Web前端问题】这个结果是什么? 的全部内容, 来源链接: utcz.com/a/137338.html

回到顶部