ホームページ  >  記事  >  ウェブフロントエンド  >  js での new 演算子は何をしますか

js での new 演算子は何をしますか

百草
百草オリジナル
2023-11-13 16:05:471477ブラウズ

js の new 演算子は次のことを行います: 1. 空のオブジェクトを作成すると、この新しいオブジェクトは関数のインスタンスになります; 2. 新しいオブジェクトのプロトタイプをコンストラクターのプロトタイプ オブジェクトにリンクします。新しいオブジェクトがコンストラクター プロトタイプ オブジェクトで定義されたプロパティとメソッドにアクセスできること、 3. コンストラクターのスコープを新しいオブジェクトに割り当て、新しいオブジェクトが this キーワードを通じてコン​​ストラクター内のプロパティとメソッドを参照できるようにすること、 4 . コンストラクターを実行する コンストラクター内のコードは、新しいオブジェクトのプロパティとメソッドを初期化するために使用されます; 5. コンストラクターにリターンがない場合など。

js での new 演算子は何をしますか

このチュートリアルのオペレーティング システム: Windows 10 システム、DELL G3 コンピューター。

JavaScript では、新しいオブジェクト インスタンスを作成するために new 演算子が使用されます。 new 演算子を使用して関数を呼び出すと、次の手順が実行されます:

1. 空のオブジェクトを作成します。この新しいオブジェクトは関数のインスタンスになります。

2. 新しいオブジェクトのプロトタイプをコンストラクターのプロトタイプ オブジェクトにリンクします。これにより、新しいオブジェクトはコンストラクター プロトタイプ オブジェクトで定義されたプロパティとメソッドにアクセスできるようになります。

3. コンストラクターのスコープを新しいオブジェクトに割り当てます。このようにして、新しいオブジェクトは this キーワードを通じてコン​​ストラクター内のプロパティとメソッドを参照できます。

4. コンストラクター内のコードを実行します。コンストラクター内のコードは、新しいオブジェクトのプロパティを初期化するために使用されます。

5. コンストラクターで他のオブジェクトが返されない場合、new 演算子は新しく作成されたオブジェクト インスタンスを返します。それ以外の場合は、コンストラクターで返されたオブジェクトが返されます。

次は、new 演算子の使用方法を示す例です。

// 定义一个构造函数
function Person(name, age) {
  this.name = name;
  this.age = age;
}
// 使用new操作符创建一个Person对象实例
var person1 = new Person("John", 25);
// person1现在是一个Person对象实例
console.log(person1.name); // 输出: "John"
console.log(person1.age); // 输出: 25

上の例では、new 演算子を介して Person コンストラクターを呼び出すことによって、新しい Person オブジェクトのインスタンスが作成されます。この新しいオブジェクト インスタンスの name プロパティは「John」に設定され、age プロパティは 25 に設定されます。

new 演算子は実際には、基礎となる詳細を隠す構文糖であることに注意してください。実際、new オペレーターはコンストラクターを呼び出し、コンストラクターのプロトタイプ オブジェクトを新しいオブジェクトのプロトタイプ チェーンにリンクするだけです。したがって、これらの手順を手動で実行することで、新しいオペレーターの動作をシミュレートすることもできます。

要約すると、new オペレーターは JavaScript で次のことを行います。新しいオブジェクトを作成し、プロトタイプ チェーンをリンクし、スコープを設定し、コンストラクター コードを実行し、新しいオブジェクト インスタンスを返します。これらの手順により、コンストラクターを使用してオブジェクト インスタンスを作成し、コンストラクターで新しいオブジェクトを初期化できるようになります。

以上がjs での new 演算子は何をしますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。