Js における new 演算子の役割の詳細な説明

Js における new 演算子の役割の詳細な説明

序文

Js は現在最も一般的に使用されているコード操作言語であり、その中でも new 演算子は特によく使用されます。多くのコード初心者にとって、Js で new がどのような役割を果たし、何に使用され、何をするのかは明確ではありません。この記事では、まず新人オペレーターの役割から始め、新人オペレーターの関連知識を簡単に紹介します。

何が新しいのですか?

ご存知のとおり、JS では、new の役割はコンストラクターを通じてインスタンス オブジェクトを作成することです。

次のようになります: (通常の関数とは異なり、関数がコンストラクターとして使用される場合、区別するために最初の文字は通常大文字になります。)

関数Foo(名前){
  this.name = 名前;
}
console.log("new Foo('mm')'s type:",typeof new Foo('mm')); // オブジェクト
console.log("Foo の型:",typeof Foo); // 関数


空のオブジェクトを作成します

var obj = 新しいオブジェクト();

Js コードでは、 new 演算子の主な機能はオブジェクトを生成することです。オブジェクト作成の基礎を築くために、new を使用して空のオブジェクトを作成します。

プロトタイプチェーンの設定

obj.__proto__ = Func.prototype;

new 演算子を使用して JS でベースを構築した後、プロトタイプ チェーンを設定するという JS コード操作の次のステップが始まります。 new コンストラクターによって作成されたインスタンスは、コンストラクター プロトタイプ チェーン内のプロパティにアクセスできます。つまり、プロトタイプ チェーンは、new 演算子を通じてインスタンスと構築関数をリンクします。

(this ポインターを変更) Func 内の this が obj を指すようにし、Func の関数本体を実行します。

var 結果 =Func.call(obj);

一般的に、Js コード グループでは、 this が出現するとコンストラクターは正常に動作しますが、 this ポインターが new 演算子によって変更されると、戻り値が正常に返されます。

Func の戻り値の型を決定します。値型の場合は、obj を返します。参照型の場合は、この参照型のオブジェクトを返します。

 if (typeof(result) == "object"){
  関数=結果;
}
それ以外{
  関数 = obj;
}

上記の new 演算子コード セットからわかるように、new は Func の戻り値の型を決定するためにも使用できます。戻り値が値型の場合は、通常どおり返されます。参照型の場合は、参照型のオブジェクトを返します。

上記 4 点が Js コードにおける new 演算子の主な機能です。Js コード初心者の皆さんのお役に立てれば幸いです。

要約する

Js における new 演算子の役割に関するこの記事はこれで終わりです。Js における new 演算子の役割の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JSにおけるnewの原理と実装について詳しく話しましょう
  • JS の new 関数の詳細な説明
  • JavaScript の new 演算子の原理と例の詳細な説明
  • JavaScript で new を実装する 2 つの方法の調査
  • JavaScript の new 演算子を自分で実装する方法
  • c# Newtonsoft.Json の一般的なメソッドの概要
  • C# Newtonsoft.Json は、複数のネストされた JSON を解析してデシリアライズする例です。
  • c# Newtonsoft.Json パッケージ操作の追加
  • JavaScriptの新しいコマンド
  • JS での new の手書き実装

<<:  Dockerでローカルマシン(ホストマシン)にアクセスする方法

>>:  Tencent Cloud Server Centosにデータディスクをマウントする方法

推薦する

MySQL ログの設定と表示方法

MySQL には次のログがあります。エラーログ: -log-errクエリログ: -logスロークエリ...

Linux Centos でスクリプトを使用して Docker をインストールする方法

Dockerの主な機能は何ですか?現在、Docker には少なくとも次のアプリケーション シナリオが...

...

MySQL 8.0.16 winx64 のインストールと設定方法のグラフィックチュートリアル (win10 の場合)

この記事では、MySQL 8.0.16 winx64のインストールと設定の具体的な方法を記載します。...

dockerでPostgreSQLを実行する方法

1. Dockerをインストールします。参考URL: Docker 入門インストールチュートリアル ...

HTML+CSS で div タグの右上隅に削除アイコンを追加するサンプルコード

1. 要件の説明Divタグの右上隅に削除アイコンを表示します2. 実装html、CSS 3. 参照コ...

Ubuntu 20.04 に Xrdp サーバー (リモート デスクトップ) をインストールする方法

Xrdp は、グラフィカル インターフェイスを通じてリモート システムを制御できる Microsof...

Nginx 502 Bad Gateway エラーの原因と解決策

Nginx 502 Bad Gateway エラーに何度か遭遇しました。ここでメモしておこうと思いま...

カスタム Docker イメージを作成するための Dockerfile の詳細な説明と CMD と ENTRYPOINT 命令の比較

1. 概要Docker イメージを作成するには、次の 3 つの方法があります。 Docker コミッ...

MySQL ユーザー権限管理の分析例

この記事では、MySQL ユーザー権限管理の例について説明します。ご参考までに、詳細は以下の通りです...

HTML埋め込みタグの使用方法と属性の詳細な説明

1. 基本的な文法コードをコピーコードは次のとおりです。埋め込み src=url注: 埋め込みはさま...

HTML4.0 要素のデフォルトスタイルの配置

コードをコピーコードは次のとおりです。 html、アドレス、引用ブロック、本文、dd、div、 dl...

エコー後に要素編集フォームel-radioが選択できない問題を解決します

目次序文質問オンラインソリューション序文この記事の内容は私がこの業界に入ったときのメモを元にしている...

MySQL 30軍事ルールの詳細な説明

1. 基本仕様(1)InnoDBストレージエンジンを使用する必要があります。解釈:トランザクション、...

ウェブフロントエンド開発者が知っておくべき 9 つの実用的な CSS プロパティ

1. 角を丸くする今日の Web デザインは、常に最新の開発テクノロジーに追随しており、HTML5 ...