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 プロパティにアクセスすると一時的にオブジェクトに変換されます。
  • 変更可能: このプロパティは変更可能ですが、変更することは推奨されません。

脚註

編集
  1. ^ これは、文字列オブジェクトのコンストラクタ関数を参照するために使用されます。

外部リンク

編集