ホームページ > ウェブフロントエンド > jsチュートリアル > Typescript の This と Super を理解する

Typescript の This と Super を理解する

Barbara Streisand
リリース: 2024-12-24 03:26:17
オリジナル
1003 人が閲覧しました

Typescript では、this と super は、それぞれクラスの現在のインスタンスと基本クラスを参照するためにオブジェクト指向プログラミングで使用されるキーワードです。


このキーワード

定義: クラスの現在のインスタンスを参照します。
使用例:

  • インスタンスのプロパティとメソッドにアクセスします。
  • 同じクラス内の別のメソッドを呼び出します。
  • 現在のオブジェクトを引数として渡します
class Pizza {
    name: string

    constructor(name: string){
        this.name = name;
    }

    cook():void{
        console.log(`Start cooking ${this.name} pizza`)
    }
}

const pepperoniPizza = new Pizza("pepperoni");
pepperoniPizza.cook();

ログイン後にコピー

Understanding This and Super in Typescript

スーパーキーワード

  • 定義: 現在のクラスの基本クラス (親クラス) を指します。
  • 使用例:
    • 基本クラスのコンストラクターを呼び出します。
    • 基本クラスからメソッドとプロパティにアクセスする

例:

class Animal {
    name: string;

    constructor(name: string) {
      this.name = name;
    }

    makeSound(): void {
      console.log(`${this.name} makes a sound.`);
    }
  }

  class Dog extends Animal {
    constructor(name: string) {
      super(name); // Calls the constructor of the base class
    }

    makeSound(): void {
      super.makeSound(); // Calls the base class method
      console.log(`${this.name} barks.`);
    }
  }

  const dog = new Dog("Buddy");
  dog.makeSound();
ログイン後にコピー

そして出力には以下が含まれます: 基本クラスの makeSound() は Animal で、サブクラスの makeSound は次のように Dog です:

Buddy makes a sound.
Buddy barks.
ログイン後にコピー

Understanding This and Super in Typescript


重要なポイント:

1.これ:

  • 常に現在のインスタンスを参照します
  • コンストラクター、メソッド、またはアロー関数で使用できます。
  • アロー関数では、これは周囲のコンテキストに字句的にバインドされます。

*2.スーパー: *

  • 別のクラスを拡張するクラスでのみ使用できます。
  • 派生クラスでこれにアクセスする前に、コンストラクターで呼び出す必要があります。
  • 親クラスのメソッドを呼び出すために使用できます。
class Parent {
  protected message: string = "Hello from Parent!";
}

class Child extends Parent {
  showMessage(): void {
    console.log(super.message); // Accesses the parent class property
  }
}

const child = new Child();
child.showMessage(); // Output: Hello from Parent!

ログイン後にコピー

これと超正確に使用することで、Typescript で継承とオブジェクトの動作を効果的に管理できます。

以上がTypescript の This と Super を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート