Rumah  >  Artikel  >  hujung hadapan web  >  Membayangkan dalam JavaScript

Membayangkan dalam JavaScript

WBOY
WBOYasal
2024-08-29 13:40:34243semak imbas

Gambaran keseluruhan

Bayangan dalam konsep khas dalam JavaScript yang menjadikan kaedah milik kelas induk boleh ditakrifkan semula dalam kelas anak.

Mari kita pergi dengan dua permainan kesayangan abad ke-21 yang agak mudah diteka, GTA dan Red Dead Redemption, melainkan anda bukan peminat open world bangers.

Shadowing in JavaScript

Berbalik kepada topik kami, saya akan memberikan GTA peranan Kelas Ibu Bapa dan RDR mengambil tempat Kelas Kanak-kanak.

Kod

class GTA {
  constructor() {
    this.openWorld = {};
  }

  addFeature(feature, value) {
    this.openWorld[feature] = value;
    return this.openWorld[feature];
  }
}

class RDR extends GTA {
  addFeature(feature) {
    super.addFeature(feature, true);  // Calls the parent class' method and adds the feature
    return true;
  }
}

var role = new RDR();
console.log(role.addFeature('ROLE_PLAYER'));  // This will return true
console.log(role.openWorld);  // This will now have 'ROLE_PLAYER' added to it with value true

Penjelasan:

super.addFeature(feature, true) memanggil kaedah addFeature dalam kelas GTA, menambah ciri pada objek openWorld.

Kaedah addFeature dalam RDR mengembalikan benar, tetapi ia juga memastikan ROLE_PLAYER ditambahkan pada objek openWorld.

Shadowing in JavaScript

Nota Penutup

Nampaknya ROLE_PLAYER baru sahaja memasuki dunia terbuka liar dengan nilai benar. Harap mereka bersedia menghadapi pepijat yang akan mereka hadapi—ia adalah permainan dunia terbuka!

Atas ialah kandungan terperinci Membayangkan dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn