JavaScript中的数据类型转换是将一个数据类型的值转换为另一个数据类型的过程。以下是JavaScript中常见的数据类型转换和相应的示例代码:
1、隐式类型转换(Implicit Type Conversion)
隐式类型转换是 JavaScript 在某些上下文中自动进行的,无需明确的代码操作。
示例 1:数值和字符串的隐式转换 + - * /
var num = 10;
var str = "20";
num + str; // 隐式将 num 转换为sting 再进行字符串拼接 输出 "1020"
num - str // 隐式将 str 转换为number 再运算 输出 -10
num * str // 隐式将 str 转换为number 再运算 输出 200
num / str // 隐式将 str 转换为number 再运算 输出 0.5
由此看出在运算时有一边为string时用 + 运算,会把另一个转为string
剩下的者是将两侧都转为number
示例 2:布尔和数值的隐式转换
var bool = true;
var num = 10;
var result = bool + num; // 隐式将 bool 转换为数值
console.log(result); // 输出 11
2、显式类型转换(Explicit Type Conversion)
显式类型转换是通过一些内置函数或操作符来显式地将一个数据类型转换为另一个数据类型。
1)转换为数字(调用Number(),parseInt(),parseFloat()方法)
2)转换为字符串(调用.toString()或String()方法)
3)转换为布尔值(调用Boolean()方法)
示例 1:转为数值
var str = "10";
Number(str); // 使用 Number 函数进行转换 输出 10
Number(true) // 1
Number('123s') // NaN
Number({}) //NaN
parseInt(string,radix):解析一个字符串并返回指定基数的十进制整数,radix是2-36之间的整数,表示被解析字符串的基数。
parseInt('2') //2
parseInt('2',10) // 2
parseInt('2',2) // NaN
parseInt('a123') // NaN 如果第一个字符不是数字或者符号就返回NaN
parseInt('123a') // 123
parseFloat(string):解析一个参数并返回一个浮点数
parseFloat('123a') // //123
parseFloat('123a.01') //123
parseFloat('123.01') //123.01
parseFloat('123.01.1') //123.01
为何Number({})返回NaN,或者想详细了解Number方法的可以看我的另一篇文章,JS-数据类型之数字(Number)
示例 2:转为字符串
var num = 10;
String(num); // 使用 String 函数进行转换 // 输出 "10"
String(true) //'true'
String([]) //''
String(null) //'null'
String(undefined) //'undefined'
String({}) //'[object Object]'
示例 3:转为布尔
var num = 0;
Boolean(num); // 使用 Boolean 函数进行转换 输出 false
Boolean('') //false
Boolean(1) //true
Boolean(null) //false
Boolean(undefined) //false
Boolean(NaN) //false
Boolean({}) //true
Boolean([]) //true
这些示例展示了常见的数据类型转换方式,但需要注意转换的结果可能会受到具体的值和上下文的影响。在实际开发中,根据需求选择适当的类型转换方式是至关重要的。