基本数据类型转换总结
基本数据类型的转换
将其他数据类型转换为数字类型
这类转换主要使用四种方式:
+、-
Number()
parseInt()
parseFloat()
具体实例如下:
字符串转数字
- 使用+、-进行转换
var str1 = '';
var str2 = '20';
var str3 = 'hello';
var res1 = + str1;
var res2 = + str2;
var res3 = + str3;
console.log(res1,res2,res3);
- 使用 Number()进行转换
var str1 = '';
var str2 = '22';
var str3 = 'hello';
var res1 = Number(str1);
var res2 = Number(str2);
var res3 = Number(str3);
console.log(res1,res2,res3);
- 使用 parseInt()进行转换
var str1 = '';
var str2 = '20';
var str3 = 'hello';
var res1 = parseInt(str1);
var res2 = parseInt(str2);
var res3 = parseInt(str3);
console.log(res1,res2,res3);
- 使用 parseFloat()进行转换
var str1 = '';
var str2 = '20';
var str3 = 'hello';
var res1 = parseFloat(str1);
var res2 = parseFloat(str2);
var res3 = parseFloat(str3);
console.log(res1,res2,res3);
布尔转数字
var bln1 = true;
var bln2 = false;
var res1 = Number(bln1);
var res2 = Number(bln2);
console.log(res1,res2);
null、undefined转数字
var n1 = null;
var n2 = undefined;
var res1 = Number(n1);
var res2 = Number(n2);
console.log(res1,res2);
将其他数据类型转换为字符串类型
这类转换主要使用两种方式:
String(a)
a.toString()
具体实例如下:
- 使用String()进行转换
var a = 1;
var b = true;
var c = null;
var d = undefined;
var res1 = String(a);
var res2 = String(b);
var res3 = String(c);
var res4 = String(d);
console.log(res1,res2,res3,res4);
console.log(typeof(a)); console.log(typeof(b)); console.log(typeof(c)); console.log(typeof(d)); console.log(typeof(res1));
console.log(typeof(res2));
console.log(typeof(res3));
console.log(typeof(res4));
- 使用a.toString
该方法不能转换null和undefined
var a = 1;
var b = true;
var res1 = a.toString();
var res2 = b.toString();
console.log(res1,res2);
console.log(typeof(a)); console.log(typeof(b)); console.log(typeof(res1));
console.log(typeof(res2));
将其他数据类型转换为布尔类型
这类转换主要使用两种方式:
Boolean(a)
!!a
具体实例如下:
数字转换为布尔
数字0转换为布尔时,为false
非零数字转换为布尔,为true
var num = 0;
var num1 = 0;
var num2 = 2;
var num3 = -2;
var res = !!num;
var res1 = Boolean(num1);
var res2 = Boolean(num2);
var res3 = Boolean(num3);
console.log(res,res1,res2,res3);
console.log(typeof(num)); console.log(typeof(num1));
console.log(typeof(num2)); console.log(typeof(num3));
console.log(typeof(res));
console.log(typeof(res1)); console.log(typeof(res2));
console.log(typeof(res3));
字符串转为布尔
空字符串转为布尔,值为false
非空字符串转为布尔,值为true
var str1 = '';
var str2 = 'hello';
var res1 = !!str1;
var res2 = !!str2;
console.log(res1,res2);
console.log(typeof(str1));
console.log(typeof(str2)); console.log(typeof(res1)); console.log(typeof(res2));
null、undefined转布尔
null、undefined转换为布尔时都是false
var str1 = null;
var str2 = undefined;
var res1 = !!str1;
var res2 = !!str2;
console.log(res1,res2);
console.log(typeof(str1));
console.log(typeof(str2)); console.log(typeof(res1)); console.log(typeof(res2));