This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The valueOf() method of String values returns this string value.
const stringObj = new String("foo");
console.log(stringObj);
// Expected output: String { "foo" }
console.log(stringObj.valueOf());
// Expected output: "foo"
valueOf()
None.
A string representing the primitive value of a given String object.
The valueOf() method of String returns the primitive value of a String object as a string data type. This value is equivalent to String.prototype.toString().
This method is usually called internally by JavaScript and not explicitly in code.
valueOf()
const x = new String("Hello world");
console.log(x.valueOf()); // 'Hello world'
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
valueOf |
1 | 12 | 1 | 3 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 | 1.0.0 | 1.0 | 0.10.0 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/valueOf