Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

String() コンストラクター

BaselineWidely available

String コンストラクターは新しいString オブジェクトを生成します。関数として呼び出された場合は、文字列型のプリミティブ値を返します。

構文

js
new String(thing)String(thing)

メモ:String()new があってもなくても呼び出せますが、効果は異なります。返値を参照してください。

引数

thing

文字列に変換するもの。

返値

String がコンストラクターとして(new 付きで)呼び出された場合、String オブジェクトを生成します。これはプリミティブではありません

String が関数として呼び出された場合、引数を文字列プリミティブに変換します。シンボル値は例外を発生させず、"Symbol(description)" の形に変換され、このdescription はそのシンボルのdescription となります。

警告:String をコンストラクターとして使用する場面はほとんど見つからないでしょう。

String コンストラクターと String 関数

String 関数と String コンストラクターは異なる結果を生み出します。

js
const a = new String("Hello world"); // a === "Hello world" is falseconst b = String("Hello world"); // b === "Hello world" is truea instanceof String; // is trueb instanceof String; // is falsetypeof a; // "object"typeof b; // "string"

ここでは、この関数は約束通り (プリミティブ型の) 文字列を生成します。しかし、コンストラクターは String 型 (オブジェクトのラッパー) のインスタンスを生成しますので、 String コンストラクターを使用するのは稀だといえます。

String() を用いてシンボルを文字列化

String() はシンボルを文字列に例外を発生させることなく変換することができる唯一の方法です。とても明示的だからです。

js
const sym = Symbol("example");`${sym}`; // TypeError: Cannot convert a Symbol value to a string"" + sym; // TypeError: Cannot convert a Symbol value to a string"".concat(sym); // TypeError: Cannot convert a Symbol value to a string
js
const sym = Symbol("example");String(sym); // "Symbol(example)"

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-string-constructor

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp