Boolean类型是ECMAScript中使用最多的一种类型,该类型只有两个字面值:true和false。这两个值与数字值不是一回事,因此true不一定等于1,而false也不一定等于0。
需要注意的是,Boolean类型的字面值true和false是区分大小写的。也就是说,True和False(以及其他的混合大小写形式)都不是Boolean值,只是标识符。
虽然Boolean类型的字面值只有两个,但ECMAScript中所有类型的值都有与这两个Boolean值等价的值。
var message="Hello World!";
var messageAsBoolean =Boolean(message);
在这个例子中,字符串message被转换成了一个Boolean值,该值被保存在messageAsBoolean变量中。可以对任何数据类型的值调用Boolean()函数,而且总会返回一个Boolean值。至于返回的这个值是true还是false,取决于要转换值的数据类型及其实际值。下表给出了各种数据类型及其对应的转换规则。
由于JS存在自动执行的Boolean转换,因此确切地知道在流控制语句中使用的是什么变量至关重要。错误地使用判断条件,就可能导致彻底改变应用程序的流程。
欢迎关注微信公众号:wcs290130——JavaScript那些事儿。JavaScript技术交流群:344292264 。