title | slug | page-type | browser-compat |
---|---|---|---|
Boolean.prototype.toString() |
Web/JavaScript/Reference/Global_Objects/Boolean/toString |
javascript-instance-method |
javascript.builtins.Boolean.toString |
{{JSRef}}
The toString()
method of {{jsxref("Boolean")}} values returns a string representing the specified boolean value.
{{EmbedInteractiveExample("pages/js/boolean-tostring.html")}}
toString()
None.
A string representing the specified boolean value.
The {{jsxref("Boolean")}} object overrides the toString
method of {{jsxref("Object")}}; it does not inherit
{{jsxref("Object.prototype.toString()")}}. For Boolean
values, the toString
method returns a string representation of the boolean value, which is either "true"
or "false"
.
The toString()
method requires its this
value to be a Boolean
primitive or wrapper object. It throws a {{jsxref("TypeError")}} for other this
values without attempting to coerce them to boolean values.
Because Boolean
doesn't have a [Symbol.toPrimitive]()
method, JavaScript calls the toString()
method automatically when a Boolean
object is used in a context expecting a string, such as in a template literal. However, boolean primitive values do not consult the toString()
method to be coerced to strings — rather, they are directly converted using the same algorithm as the initial toString()
implementation.
Boolean.prototype.toString = () => "Overridden";
console.log(`${true}`); // "true"
console.log(`${new Boolean(true)}`); // "Overridden"
const flag = new Boolean(true);
console.log(flag.toString()); // "true"
console.log(false.toString()); // "false"
{{Specifications}}
{{Compat}}
- {{jsxref("Object.prototype.toString()")}}