-
JS中类型转换有哪几种?
1. 转换成数字 2. 转换成布尔值 3. 转换成字符串
-
强制类型转换
1. String(),Number(),Boolean()
-
隐式转换
- 每个对象的toString和valueOf方法都可以被改写,每个对象执行完毕,如果被用以操作JavaScript解析器就会自动调用对象的toString或者valueOf方法
-
[] == ![]结果是什么?为什么?
-
①、如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值——false转换为0,而true转换为1; ②、如果一个操作数是字符串,另一个操作数是数值,在比较相等性之前先将字符串转换为数值 ③、如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用得到的基本类型值按照前面的规则进行比较
-
-
{}==!{}
-
{} == !{} -> {} == false -> {} == Number(false) -> {} == 0 -> ({}).toString() == 0 -> [Object Object] == 0 -> false
-