Boolean(expression)将简单地将表达式转换为 boolean原始值 ,而
newBoolean(expression)将围绕转换后的boolean值创建 包装对象 。
可以看出以下区别:
// Note I'm using strict-equalsnew Boolean("true") === true; // falseBoolean("true") === true; // true还有这个(感谢@hobbs):
typeof new Boolean("true"); // "object"typeof Boolean("true"); // "boolean"注意: 虽然包装器对象将在必要时自动转换为基本体(反之亦然),但是只有一种情况可以想到,您将在哪里使用
newBoolean,或者其他任何针对基本体的包装器-如果您想将属性附加到单个值。例如:
var b = new Boolean(true);b.relatedMessage = "this should be true initially";alert(b.relatedMessage); // will workvar b = true;b.relatedMessage = "this should be true initially";alert(b.relatedMessage); // undefined



