JavaScript/String/prototype/constructor
String.prototype.constructor
は、文字列オブジェクトを作成するために使用されるコンストラクタ関数への参照を持つプロパティです。このプロパティは String
関数を参照し、新しい String
オブジェクトを作成するために使用されます[1]。
説明
編集String.prototype.constructor
は以下の特徴を持ちます:
- すべての文字列オブジェクトから継承されます
String
関数を参照します- 列挙不可、設定可能、書き込み可能なプロパティです
例
編集コンストラクタを使用して新しい文字列を作成するプログラム
編集以下のプログラムは、constructor
プロパティを使用して新しい文字列を作成します。
const str = 'Hello'; const newStr = new str.constructor('World'); console.log(newStr); // String {"World"} console.log(typeof newStr); // "object" console.log(newStr.valueOf()); // "World"
このプログラムでは、既存の文字列のコンストラクタを使用して新しい文字列オブジェクトを作成しています。
コンストラクタの参照を確認するプログラム
編集以下のプログラムは、constructor
プロパティが String
関数を参照していることを確認します。
const str = 'Hello'; console.log(str.constructor === String); // true console.log(String.prototype.constructor === String); // true
このプログラムでは、文字列の constructor
プロパティが String
関数を参照していることを確認しています。
注意点
編集- 継承: このプロパティは
String.prototype
から継承されます。 - オブジェクト生成:
new
演算子と組み合わせて使用すると、新しい文字列オブジェクトを作成できます。 - プリミティブとオブジェクト: 文字列リテラルはプリミティブ値ですが、
constructor
プロパティにアクセスすると一時的にオブジェクトに変換されます。 - 変更可能: このプロパティは変更可能ですが、変更することは推奨されません。
脚註
編集- ^ これは、文字列オブジェクトのコンストラクタ関数を参照するために使用されます。
外部リンク
編集