类型转换
类型转换值将一种数据类型转换为其它类型,将其它类型转换为(字符串、数值和布尔值)。
1. 转换为字符串(String)类型
将其它数值转换为字符串有两种方式:toString()、String()。
方法一:调用 toString() 方法将其它类型转换为字符串。
var a = 123;
a = a.toString();
console.log(a);
console.log(typeof a);
方法二:调用 String() 函数将其它类型转换为字符串。
var a = 123;
a = String(a);
console.log(a);
console.log(typeof a);
2. 转换为数值(Number)类型
将其它数值转换为数值有三种方式:Number()、parseInt() 和 parseFloat()。
方法一:调用 Number() 函数将其它类型转换为数值。
转换情况:
- 字符串:
- 如果字符串是一个合法的数字,则会自动转换为对应的数字
- 如果字符串不是合法数字,则转换为 NaN
- 如果字符串是空串或纯空格的字符串,则转换为0
- 布尔值:
- true 转换为1,false 转换为0
- null 转换为0
- undefined 转换为 NaN
let a = '123' // 123
a = 'abc' // NaN
a = '3.1415926' // 3.1415926
a = '11px' // NaN
a = '' // 0
a = ' ' // 0
a = Number(a)
console.log(a)
console.log(typeof a)
方法二:这种方式专门用来对付字符串,parseInt() 方法将一个字符串转换为一个整数。
var a = '123.45';
a = parseInt(a);
console.log(a);
console.log(typeof a);
方法三:这种方式专门用来对付字符串,parseFloat() 方法将一个字符串转换为一个小数。
var a = '123.456';
a = parseFloat(a);
console.log(a);
console.log(typeof a);
注意:如果对数字使用 parseInt() 或 parseFloat(),它会先将其转换为字符串,然后再转换为数字
3. 转换为布尔(Boolean)类型
使用 Boolean() 函数来将其它类型转换为布尔值
转换的情况:
- 数字:
- 0 和 NaN 转换为 false
- 其余是 true
- 字符串:
- 空串转换为 false
- 其余是 true
- null 和 undefined 都转换为 false
- 对象:对象会转换为 true
所有表示空性的没有的错误的值都会转换为 false,例如:0、NaN、空串、null、undefined、false
示例代码:
let a = null
a = Boolean(a)
console.log(a)
console.log(typeof a)