隐式类型转换与显示类型转换 - (不是官方给的内容)
隐式类型转换
1.转换为string类型 - 类型转换后内容不变 - 用法: + ''(单引)或 ""(双引)
代码示例图:
// 定义number类型,string类型和boolean类型的变量
var num = 100;
var str = '一花一世界';
var boo = false;
var result1 = '' + num;// 100
console.log(typeof result1);// string
var result2 = boo + '';// true
console.log(typeof result2);// string
控制台示例图:
2.转换为number类型 - 用法: + 其他类型
-
string类型转换为number类型
- 如果文本内容是普通的文本(非数字) -> 转换后的结果为
- 如果文本内容是数字值 -> 转换后的结果为对应数字值
-
boolean类型转换为number类型
- true转换为 1
- false转换为 0
示例代码
var result3 = +str;
console.log(result3);
console.log(typeof result3);// number
var result4 = +boo;
console.log(result4);// true为1,false为0
console.log(typeof result4);// number
3.转换为boolean类型 - 用法: !! 其他类型
-
string类型转换为boolean类型
- 空字符串(''或"")转换后的结果为false,其余情况都为true
-
number类型转换为boolean类型
- 0或NaN转换后的结果为false,其余情况都为true
- 注意: undefined或null转换后的结果为false
示例代码:
var result5 = !!str;
console.log(result5);// true
console.log(typeof result5);// boolean
var result6 = !!num;
console.log(result6);// true
console.log(typeof result6);// boolean
显示类型转换
- Number() - 转换为数字值的类型
- String() - 转换为字符串的类型
- Boolean() - 转换为布尔值的类型
- 注意: 这种写法很像包装类型,区别包装类型的定义方式是 new Number, new String和 new Boolean
1.转换为string类型 - 用法:其他类型加一个 (点) toString
- String()函数 -> String(值)
-
toString()方法 -> 变量名.toString()
- 对象的方法 -> 将变量当作是一个对象来使用
// 定义number类型、string类型以及boolean类型的变量
var num = 100;
var str = '一花一世界';
var str1 = '100';
var str2 = '100.7';
var boo = false;
var result1 = String(num);
console.log(typeof result1);// string
var result2 = num.toString();
console.log(typeof result2);// string
2.转换为number类型
- Number()函数 -> Number(值)
-
parseInt()函数 -> parseInt(值)
- 转换为number类型,转换为一个整数
-
parseFloat()函数 -> parseFloat(值)
- 转换为number类型,转换为一个浮点数
示例代码:
var result3 = Number(boo);
console.log(typeof result3);// number
var result4 = parseInt(str1);
console.log(typeof result4);// 100
var result5 = parseFloat(str1);
console.log(result5);// 100
-
注意:
- 如果用parseInt(转换整数)转换浮点数(100.1)JavaScript会自动取整数部分
- 如果用parseFloat(转换浮点)转换整数(100)JavaScript会自动去掉浮点
示例代码:
var result6 = parseInt(str2);
console.log(result6);// 如果当前值为小数的话,parseInt()后取整数部分 - 100
var result7 = parseFloat(str2);
console.log(result7);// 100.7
3.转换为boolean类型
- Boolean()函数 -> Boolean(值)
示例代码:
var result8 = Boolean(str);
console.log(result8);// true
隐式类型转换与显示类型转换的区别
-
显示类型转换
- 优点 - 可读性高
- 缺点 - 性能差
-
隐式类型转换
- 优点 - 性能好
- 缺点 - 可读性差
- 备注: 在代码量不是很多的情况下并且不影响性能 - 建议使用显示类型转换,因为可读性会好(代码的清晰度高)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。