HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
View in English Always switch to English
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
toString() は String 値のメソッドで、指定されたオブジェクトを表す文字列を返します。
toString()
String
const stringObj = new String("foo"); console.log(stringObj); // 予想される結果: String { "foo" } console.log(stringObj.toString()); // 予想される結果: "foo"
なし。
呼び出したオブジェクトを表す文字列です。
その String オブジェクトは、Object の toString メソッドを上書きします。つまり、Object.prototype.toString() を継承しません。String オブジェクトの toString メソッドは、そのオブジェクトを表す文字列を返します(String.prototype.valueOf() と同等です)。
Object
toString
Object.prototype.toString()
String.prototype.valueOf()
toString() メソッドは this 値が String プリミティブまたはラッパーオブジェクトであることを要求します。他の this の値に対しては、文字列値に変換しようとせずに TypeError を発生します。
this
TypeError
String には [Symbol.toPrimitive]() メソッドがないため、JavaScript は toString() メソッドを、文字列が求められるコンテキスト、例えばテンプレートリテラルで String オブジェクトが使用されると、自動的に呼び出します。しかし、文字列プリミティブ値は文字列に変換するために toString() を呼び出しません。既に文字列なので、変換が実施されないからです。
[Symbol.toPrimitive]()
String.prototype.toString = () => "Overridden"; console.log(`${"foo"}`); // "foo" console.log(`${new String("foo")}`); // "Overridden"
以下の例は、String オブジェクトを表す文字列の値を表示します。
const x = new String("Hello world"); console.log(x.toString()); // "Hello world"
Enable JavaScript to view this browser compatibility table.