Boolean : Object
A true or false value.
Primitive:
true
Spec:
http://www.ecma-international.org/ecma-262/5.1/#sec-15.6
----
Boolean(value : Object) : Boolean
Coerces **value** into a boolean value. You can also use **!!value** to
do the coercion. Note **'false'** coerces to **true** since it is a non-empty
string. Use **value === 'true'** to convert a string to a Boolean.
console.log(Boolean(''));
console.log(Boolean('0'));
console.log(Boolean(0));
console.log(Boolean(1));
console.log(Boolean([]));
console.log(Boolean(undefined));
console.log(!!undefined);
console.log();
var stringToBoolean = function(value) {
return value === 'true';
};
console.log(Boolean('false'));
console.log(stringToBoolean('false'));
Spec:
http://www.ecma-international.org/ecma-262/5.1/#sec-15.6.1
----
new Boolean(value : Object) : Object
Creates a box for a boolean value.
var literal = true;
var boxed = new Boolean(true);
console.log(literal === true);
console.log(boxed === true);
console.log(boxed.valueOf() === true);
console.log();
// Literals cannot hold other properties but boxes can
literal.foo = 'bar';
boxed.foo = 'bar';
console.log(literal.foo);
console.log(boxed.foo);
Spec:
http://www.ecma-international.org/ecma-262/5.1/#sec-15.6.2
----
prototype.toString() : String
Returns a string representation of **this**.
console.log(true.toString());
console.log(false.toString());
Spec:
http://www.ecma-international.org/ecma-262/5.1/#sec-15.6.4.2