1、默认转布尔值为false的类型
undefined null 0 -0 NaN ""
2、当null和undefined相互==为true(同样表示为空值)
3、默认隐式包装对象,要显式包装的话要new
var a = "test",b = 1,c = true var A = new String(a) var B = new Number(b) var C = new Boolean(C)
4、字符串所有的方法看上去返回了一个修改后的字符串,实际上返回的是一个新的字符串值
5、各个索引元素完全相等的两个数组也不相等
var a = {x:1},p = {x:1} o===p // false 两个单独的对象永不相等 var a = [],p = [] o===p // false 两个单独的数组永不相等
6、相等两个对象是因为其引用是相等的
7、当不使用new为运算符调用以下函数时,它们会作为类型转换函数
Number("3") // 3 String(false) // "false" Boolean([]) // true Object(3) //new Number(3)以上不常用,常用的是一些简便写法x+"" // 等价于String(x)+x // 等价于Number(x)!!x // 等价于Boolean(x)
8、包装对象new Boolean(false)是一个对象而不是原始值,它将转换为true
原文地址:https://www.cnblogs.com/huangqiming/p/12322958.html
时间: 2024-10-10 04:50:16