javascript中布尔值true转为数字的结果是1;隐式转换时true自动变为1,如true+1得2,number(true)和+true也返回1,而parseint(true)因先转字符串"true"故返回nan。

JavaScript 中布尔值 true 转为数字的结果是 1。
隐式转换:true 自动转成 1
在涉及数字运算或需要数值的上下文中,JavaScript 会自动将 true 转为 1,false 转为 0:
-
true + 1→2 -
Number(true)→1 -
parseInt(true)→NaN(因为parseInt先转字符串,String(true)是"true",无法解析为有效整数)
显式转换方法对比
几种常用转数字方式结果一致:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
Number(true)→1 -
+true(一元加号)→1 -
~~true(按位非两次)→1(因~true→-2,再~(-2)→1,但不推荐用于布尔转数字)
注意 false 的对应值
false 在同样规则下转为 0,这与多数编程语言一致:
-
Boolean(0) === false,但Boolean("0") === true(字符串 "0" 是真值) -
true == 1和false == 0都为true(抽象相等,发生类型转换) -
true === 1为false(严格相等,类型不同)
不复杂但容易忽略:布尔转数字只在明确需要数值时才发生,日常逻辑判断中无需也不建议依赖这种转换。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










