JavaScript数据类型转换实例(其他类型转字符串、数值型、布尔类型)

前言

 什么是数据类型转换?

使用表单、prompt 获取过来的数据默认类型是字符串类型的,此时就不能直接进行加减法运算,而需要转换变量的数据类型。

通俗来说,数据类型转换就是将一种数据类型转换成另外一种数据类型。

在平常代码的使用中,我们偶尔会遇到需要进行数据类型转换的时候,比如将数值型转换为字符串,或者将null/undefined转换为布尔类型等等,这篇文章我们主要讲以下三种类型的转换:

  • 其他类型转为字符串
  • 其他类型转为数值型
  • 其他类型转为布尔类型

其他类型转为字符串:

有三种方法

//第一种方法
var a=5;//数值类型转为字符串
var b=a.toString();
console.log(b);//console可以在浏览器中打印出输出的信息
console.log(typeof b);//typeof可以显示当前文本的类型
 
//第二种方法
var a=5;
console.log(String(a));//直接打印出转换为字符串类型的内容
 
//第三种方法
var a=5;
var b=''+a;
console.log(b);
//这种方法利用了在JS中如果有加号,那么从遇到的第一个字符串类型开始,后面的全变为字符串类型
 

如果是布尔类型转换为字符串类型的话

var a=true;
console.log(String(a));//在上述三种类型中任选一种用即可

这样转换后的结果还是true

但是如果我们用

console.log(typeof String(a));

验证后,就会发现虽然显示还是true,但类型已经转换为字符串类型。

其他类型转为数值型

同样也有三种方法

//第一种方法
var a='1';
var b=Number(a);
console.log(b);//内容为数值的字符型转数值,最终显示结果就为原数值
 
var c=Number('c');
var d=Number(null);//在这里null可以转换为0
var e=Number(undefined);
console.log(c,d,e);
//输出结果为NaN  0  NaN
//NaN表示not a number

注:如果是字符串类型转数值类型,那么串内的内容必须要是数字,如果不是则会显示NaN。

//第二种方法
//int表示整型数值
var a=parseInt('5');
var b=parseInt('q12');
var c=parseInt(null);
var d=parseInt(undefined);
console.log(a,b,c,d);
 
//输出结果为5  NaN  NaN  NaN

可以看到,第二种方法的null没有转换为0,而是NaN。

//第三种方法
//float表示浮点型数值
var a=parseFloat('2.56qwe');
var b=parseFloat('2.4.6.8');
var c=parseFloat('q12');
var d=parseFloat(null);
var e=parseFloat(undefined);
console.log(a,b,c,d,e);
 
//输出结果为2.56  2.4  NaN  NaN  NaN

当转换类型为浮点型数值时

会默认输出第一个小数点前的数字以及第一个小数点后的所有有效数字,如遇到字符或者第二个小数点停止。

其他类型转为布尔类型

只有一种方法

var a=Boolean('0');
var b=Boolean(0);
var c=Boolean('5');
var d=Boolean(null);
var e=Boolean(undefined);
var f=Boolean('');//字符串内容为空
var g=Boolean(' ');//字符串内容为空格
 
console.log(a,b,c,d,e,f,g);
 
//输出结果为true  false  true  false  false  false  true

注意:如果是字符串转换为布尔类型,那么只要字符串中有内容(内容为空格也算有内容),转换结果就为true,如果字符串内容为空,则为false。

总结