継承ES5 プロトタイプ継承継承はプロトタイプ チェーン (コンストラクター + [[prototype]]) を通じて実現されます。 (注: 今後は__proto__を[[prototype]]の形式で記述します) // 親クラス: function SuperType; サブクラス: function SubType; SubType.prototype = new SuperType(); // SubType は SuperType を継承します // プロトタイプチェーンに関する前のセクションで述べた知識ポイントによれば、インスタンス化されたオブジェクトの__proto__はコンストラクタのプロトタイプに等しい SubType.prototype.__proto__ === SuperType.prototype // true 上記の継承関係は以下のとおりです。 内部実装メカニズムの観点から見ると、ES5 の継承は実際には最初に this 上にサブクラスのインスタンス オブジェクトを作成し、次にこれに親クラスのメソッドを追加することです。同様の使用法: Father.apply(this) ES6 クラス継承継承はクラスの extends + super を通じて実現されます。 スーパー使用法 super は関数としてもオブジェクトとしても使用できます。 両者の違いA: まったく同じではありません。いくつかの主な違いがあります。
ES5 プロトタイプ継承の内部実装ES5 での継承は、基本的に、最初にサブクラス this のインスタンス オブジェクトを作成し、次に親クラスのメソッドをサブクラス (this) --- Father.apply(this) に追加します。 ES6 クラス継承の内部実装ES6 の継承メカニズムは完全に異なります。本質的には、最初に親クラスのインスタンス オブジェクト this を作成し、親クラスのプロパティとメソッドを this に配置し (super 関数を通じて呼び出された場合)、次に子クラスのコンストラクターを使用して this を変更します。 実装メカニズムが異なるため、これら 2 種類の継承では、ネイティブ コンストラクターを継承するときにいくつかの違いがあります。 es5 の記述ではネイティブ コンストラクター (Array、Number など) を継承できません。 拡張機能内部実装メカニズムの説明については、「Ruan Yifeng の es6 ドキュメント - クラス継承」の関連セクションを参照してください。 JavaにおけるES6継承とES5継承の違いについての記事はこれで終わりです。ES6継承とES5継承の違いについてさらに詳しく知りたい方は、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySql データベースのサブクエリと高度なアプリケーションの簡単な分析
>>: NginxとLuaによるグレースケールリリースの実装
MySQL インデックスの確立は、MySQL の効率的な操作にとって非常に重要です。インデックスによ...
1. インライン参照:ラベルに直接使用されるが、メンテナンスコストが高い スタイル='フォ...
目次ライフサイクルの変化反応的な参照vue2.x では ref を使用して要素タグを取得します。vu...
列ベースの Web デザインのインスピレーションをお探しの場合は、32 個のクラシックな列/グリッド...
MySQL クエリ結果の行フィールドの結合は、次の 2 つの関数を使用して実装できます。 1. co...
目次物体オブジェクト定義オブジェクトのメンバーを反復処理するJS組み込みオブジェクト数学オブジェクト...
まずcharAt関数の基本的な構文を見てみましょう文字 = str.charAt(インデックス) c...
DIV フローティング効果 (固定位置) は CSS のみで実装されており、IE8、360、Fir...
この記事では、例を使用して MySQL 変数の使用方法を説明します。ご参考までに、詳細は以下の通りで...
リンク上の点線のボックスを削除しますコードをコピーコードは次のとおりです。 a:アクティブ、a:フォ...
1. フロート+オーバーフロー:非表示このメソッドは主にオーバーフローを通じて BFC をトリガーし...
最近、プロジェクトではラベルやボタンなどの断片的な画像をたくさん使用する必要があります。また、CSS...
Tomcatが同時リクエストを処理する方法を理解することで、スレッドプール、ロック、キュー、および...
1行のコマンド docker run -d \ -v /share:/home/vsftpd \ -...
目次1. コンテナサービスの更新とDockerコンサルの検出1. サービス登録と検出とは何ですか? ...