数据类型转换分为强制数据类型转换(显式转换)和自动转换(隐式转换)
主要是使用Number、String和Boolean三个构造函数,手动将各种类型的值,转换成数字、字符串或者布尔值。
Number()
// 数值:转换后还是原来的值 Number(324) // 324 // 字符串:如果可以被解析为数值,则转换为相应的数值 Number('324') // 324 // 布尔值:true 转成1,false 转成0 Number(true) // 1 Number(false) // 0String()
String(123) // "123" String('abc') // "abc" String(true) // "true" String(undefined) // "undefined" String(null) // "null" 转换对象和数组 String({a: 1}) // "[object Object]" String([1, 2, 3]) // "1,2,3"Boolean()
除了以下六个值的转换结果为false,其他的值全部为true。
undefined null -0 0或+0 NaN ''(空字符串) Boolean(undefined) // false Boolean(null) // false Boolean(0) // false Boolean(NaN) // false Boolean('') // false遇到以下三种情况时,JavaScript会自动转换数据类型,即转换是自动完成的,对用户不可见。
// 1. 不同类型的数据互相运算 123 + 'abc' // "123abc" // 2. 对非布尔值类型的数据求布尔值 if ('abc') { console.log('hello') } // "hello" // 3. 对非数值类型的数据使用一元运算符(即“+”和“-”) + {foo: 'bar'} // NaN - [1, 2, 3] // NaN转载于:https://www.cnblogs.com/YeChing/p/6296438.html
