Core Javascript|クラス

4412 ワード

Core JavaScriptを見て勉強した内容です.

0.入る


JavaScriptはプロトコルタイプに基づく言語です
=>継承という概念がないため、継承に対する反感が生じる.
=>ES 6にクラス構文が追加されています.

1.クラスとインスタンスの概念を理解する


1-1. 等級は何ですか。


抽象概念
  • プレミアム(スーパー)
  • 同じクラスでより高い概念を持つ
  • サブクラス
  • より詳細な条件が追加され、より高いレベルの条件が満たされます.

    1-2. インスタンスとは?


    クラスのプロパティの具体的な例

    1-3. プログラミング言語のクラス

  • 共通要素を有するグループを分類するための概念
  • 共通要素を持つオブジェクトを生成するには、
  • クラスを定義する必要があります.
  • の使用によれば、抽象的または特定のオブジェクトであってもよい.
  • 2.JavaScriptのクラス


  • プロトタイプメソッド
    インスタンスから直接呼び出す方法

  • スタティツクメソッド
    インスタンスから直接アクセスできないメソッド
    (this呼び出しコンストラクタを使用する必要があります)
    1〜3の「使用に応じて、抽象的または特定のオブジェクトとすることができる.」表示の意味は以下の通りです.
    1)クラスがプロトタイプメソッドとして機能する場合,抽象オブジェクトとなる.
    2)クラスが静的メソッドとして機能する場合、クラス自体はオブジェクトとして扱われます.
  • 3.クラス継承(ES 6以前)


    クラス継承を模倣する方法3


    前提条件:constructor propertyを調整して元のコンストラクション関数を表示する必要があります.
  • SubClass.SuperClassインスタンスをPrototype=>に割り当てる次のすべてのProperty
  • を削除します.
  • 空関数(Bridge)を使用する方法
  • Object.create
  • の使用方法

    4.クラス継承(ES 6)

    var Rectangle = class {
        constructor (width, height) {
            this.width = width;
            this.height = height;
        }
        getArea () {
            return this.width * this.height;
        }
    };
    
    //ES6 클래스 문법 도입
    var Square = class extends Rectangle {
        constructor (width) {
            super(width, width);
        }
        getArea () {
            console.log('size is :', super.getArea());
        }
    };
  • classコマンドの後にキーワード「extends」を追加すると、継承関係設定が終了します.
  • 構造関数の内部では、superというキーワードを関数として使用できます.この関数はSuperClassのコンストラクション関数
  • を実行します.
  • コンストラクション関数メソッドに加えて、他のメソッドはスーパーキーをオブジェクトとして使用できます.この場合、対象はSuperClassです.Prototypeを表示すると、呼び出されたメソッドのthisは「super」ではなく元のthisに従います.