Sobes.tech
Senior

Խոսիր super() ֆունկցիայի մասին և երբ ես այն օգտագործում:

sobes.tech AI

Պատասխան AI-ից

super() գործառույթը դասերում օգտագործվում է ծնողի դասի կոնստրուկտորին կամ ծնողի մեթոդներին կանչելու համար:

Այն հիմնականում կիրառվում է երկու հիմնական դեպքերում՝

  1. Որդու դասի կոնստրուկտորում՝ ծնողի դասի կոնստրուկտորին կանչելու և ժառանգված հատկությունների ճիշտ սկզբնավորման համար:

  2. Ծնողի մեթոդները կանչելու համար՝ եթե անհրաժեշտ է ընդլայնել կամ վերաշարադրել վարքագիծը, բայց միևնույն ժամանակ պահպանել հիմնական դասի մասի տրամաբանությունը:

Օրինակ՝

class Animal {
  constructor(name) {
    this.name = name;
  }
  speak() {
    console.log(`${this.name} ձայն է հանում.`);
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name); // կանչում է Animal-ի կոնստրուկտորը
    this.breed = breed;
  }
  speak() {
    super.speak(); // կանչում է Animal-ի `speak` մեթոդը
    console.log(`${this.name} հաչում է.`);
  }
}

Եթե super() չկոչվի որդու դասի կոնստրուկտորում, սխալ կլինի, քանի որ հիմնական դասը չի սկսվել։