継承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によるグレースケールリリースの実装
プロジェクトシナリオプロジェクトの背景全体にカスタム透かしを追加します。透かしのテキスト、フォントの...
オリジナルリンク: https://vien.tech/article/138序文私は、マークダウン...
目次ショートポーリングロングポーリングウェブソケットコミュニケーションの原則シンプルな1対1チャット...
ウェブページ上のいくつかの要素の非表示、透明、その他のプロパティを制御する必要があることがよくありま...
Dockerはプライベートレジストリ内のイメージを照会または取得するために、 docker 検索 1...
mysqlに接続できない問題の解決方法を参考までに紹介します。具体的な内容は以下のとおりです。昨日は...
目次1. コアコマンド2. 共通コマンド3. コアコマンドの詳細な説明3.1、ps補助3.2 トップ...
MySQL は非常に強力なリレーショナル データベースです。しかし、初心者の中には、インストールや設...
1. MySQL マスタースレーブ非同期1.1 ネットワーク遅延MySQLのマスタースレーブレプリケ...
1. 公式サイトのmysqlダウンロードページからmysql-5.7.21-windowx64.zi...
MacにはApache環境が付属していますターミナルを開き、sudo apachectl -v と入...
Grid は 2 次元のグリッド レイアウト システムです。これを使用すると、本質的にはハック メソ...
1. this.$router.push() 1. ビュー <テンプレート> <d...
サーバーに複数のサイトを展開するには、異なるサイトにアクセスするために複数のポートを開く必要がありま...
方法1: DOMが提供するイベントオブジェクトのターゲットイベント属性を使用して値を取得し、送信する...