JavaScript布尔转换数值,日期转换为数字,自动字符串转换

JavaScript布尔转换数值,日期转换为数字,自动字符串转换
JavaScript布尔转换数值,日期转换为数字,自动字符串转换
全局方法 Number() 也可把布尔转换为数字。
 
Number(false)     // 返回 0
Number(true)      // 返回 1
 
把日期转换为数字
全局方法 Number() 可用于把日期转换为数字。
 
d = new Date();
Number(d)          // 返回 1640921072728
日期方法 getTime() 同理。
 
d = new Date();
d.getTime()        // 返回 1640921072728
自动类型转换
如果 JavaScript 尝试操作一种“错误”的数据类型,它会试图将该值转换为“正确”的类型。
 
结果并不总是你所期望的:
 
5 + null    // 返回 5         因为 null 被转换为 0
"5" + null  // 返回 "5null"   因为 null 被转换为  "null"
"5" + 2     // 返回 52        因为 2 被转换为 "2"
"5" - 2     // 返回 3         因为 "5" 被转换为 5
"5" * "2"   // 返回 10        因为 "5" 和 "2" 被转换为 5 和 2
 
自动字符串转换
JavaScript 自动调用变量的 toString() 函数,当您试图“输出”对象或变量时:
 
document.getElementById("demo").innerHTML = myVar;
 
// 如果 myVar = {name:"Fjohn"}  // toString 转换为 "[object Object]"
// 如果 myVar = [1,2,3,4]       // toString 转换为 "1,2,3,4"
// 如果 myVar = new Date()      // toString 转换为 "Fri Dec 31 2021 11:24:32 GMT+0800 (中国标准时间)"
数字和布尔也会被转换,但并不明显:
 
// 如果 myVar = 123             // toString 转换为 "123"
// 如果 myVar = true            // toString 转换为 "true"
// 如果 myVar = false           // toString 转换为 "false"

推荐阅读