boolean是都用过的类型,有基本类型和包装类型,之前写过一段代码,不知道错在哪里,后来翻阅书籍才知道原因
var falseObject = new Boolean(false);//使用FALSE参数创建了一个Boolean类型的对象 console.log(falseObject.valueOf());//fasle var result = falseObject && true;//true console.log(result);//true var falseValue=false;// var result=falseValue&&true;//false console.log(result);//fasle
fasleObject=null; var result = falseObject && true;//true console.log(result);//true
上面的代码输出之后会分别显示true和false,因为在falseObject用做逻辑运算的时候,所有的对象都会被转换成true,即使这个对象是null,也会被转化成true,这也解释了null是一个空对象的引用,并不是一个基本的数据类型。console.info(typeof falseObject);//object console.log(typeof falseObject);//boolean console.log(falseObject instanceof Boolean);//true console.log(falseValue instanceof Boolean);//true