首頁 > web前端 > js教程 > 主體

JavaScript 中的陰影

WBOY
發布: 2024-08-29 13:40:34
原創
242 人瀏覽過

概述

JavaScript 中一個特殊概念的影子,使得屬於父類別的方法可以在子類別中重新定義。

讓我們來看看兩款 21 世紀最受歡迎的遊戲,它們很容易猜到:GTA 和 Red Dead Redemption,除非您不喜歡開放世界遊戲。

Shadowing in JavaScript

回到我們的主題,我將讓GTA擔任Parent Class的角色,RDR擔任Child Class的角色。

程式碼

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
登入後複製

解釋:

super.addFeature(feature, true) 呼叫GTA類別中的addFeature方法,將feature加入openWorld物件。

RDR中的addFeature方法傳回true,但它也確保ROLE_PLAYER被加入到openWorld物件中。

Shadowing in JavaScript

結束語

看起來 ROLE_PLAYER 剛進入野外開放世界,值為 true。希望他們已經準備好應對將遇到的錯誤——畢竟這是一款開放世界的遊戲!

以上是JavaScript 中的陰影的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!