数据类型转换
强制数据类型转换
数据类型转换分为强制类型转换和隐式类型转换,就是将一种类型转换为另外的一种类型
-
强制类型转换
-
转数字
Number()直接转换成数组
parseInt()转换成整型
parseFloat()转换成浮点数 -
转字符串
srting()将其他类型字符串转换成
toString将其他类型字符串转换成(不可以转换undefined和null) -
转布尔值
Boolean()将其他类型转换成布尔值 特殊值( 0 ,字符串的空值,undefined , NaN,null等转换成布尔值全部为false,其他值为true)
-
-
数字类型转换
var a = '11';//声明字符串类型的11
var b = Number(a); //的到数字类型的11
var a = '11.11';//声明字符串类型的11
var b = parseInt(a); //得到整型数字的11
var a = '11.11';
console.log(parseFloat(a));//得到浮点型数字的11.11
- 字符串转换
var a = 11;
String(a);//得到字符串的'11'
var b = undefined ;
String(b);//得到字符串的'undefined '
var c = 11;
c.toString();//得到字符串的'11'
var d = undefined;
d.toString();
//报错Uncaught TypeError: Cannot read properties of undefined (reading 'toString')
- 布尔型转换
var a = 0;
var b = undefined;
var c = '';
var d = NaN;
var e = null;
Boolean(a);//得到false
Boolean(b);//得到false
Boolean(c);//得到false
Boolean(d);//得到false
Boolean(e);//得到false
var f = 1;
var i = '1'
Boolean(f)//得到true
Boolean(i)//得到true
隐式类型转换
- 隐式类型转换就是js自身在运算时将数据统一成一致的数据类型在进行计算因为不同的数据类型cpu无法做出计算
- 运算符
- 一元运算符 (存在隐式类型准换)
- 正号 + 对结果不会产生影响
- 负号 - 会将正值转换为负值 负值转化为正值
- 二元运算符(存在隐式类型准换)
+加 (特殊如果有值为字符串会优先做字符串拼接 /转字符串/,在进行数学加法运算(转数字))
-减 *乘 /除 %取余(做数字类型准换) - 比较运算符 (转化为数字类型 === 与=除外)结果为布尔型数据
(>大于) (>=大于等于) ( <小于 )(<=小于等于 )( 相等)(!= 不相等)(===全等) (!==不全等) - 关系运算符(转化为布尔型)结果也为布尔型数据
&&逻辑与 || 逻辑或 !逻辑非(又称之为取反)
- 一元运算符 (存在隐式类型准换)
console.log(1 + '2');//得到字符串的'12'
console.log(1 + undefined);//得到数字类型的NaN
console.log(5 * '1');//得到数字类型的5
console.log(1 < '5');//得到布尔值true
console.log(1 && 0)//得到布尔值false