「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScript でのシャドーイング

JavaScript でのシャドーイング

2024 年 11 月 8 日に公開
ブラウズ:457

概要

親クラスに属するメソッドを子クラスで再定義できるようにする、JavaScript の特別な概念におけるシャドウイング。

オープンワールドのバンガーのファンでない限り、非常に簡単に推測できる 21 世紀の最愛のゲームの 2 つ、GTA とレッド・デッド・リデンプションを取り上げましょう。

Shadowing in JavaScript

トピックに戻りますが、GTA に親クラスの役割を与え、RDR が子クラスの役割を果たします。

コード

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 メソッドを呼び出し、openWorld オブジェクトに機能を追加します。

RDR の addFeature メソッドは true を返しますが、ROLE_PLAYER が openWorld オブジェクトに追加されることも保証します。

Shadowing in JavaScript

終わりのメモ

ROLE_PLAYER は true の値で野生のオープンワールドに乗り込んだようです。遭遇するであろうバグに対する準備ができていることを願っています。結局のところ、これはオープンワールド ゲームなのです!

リリースステートメント この記事は次の場所に転載されています: https://dev.to/alimalim77/shadowing-in-javascript-12ci?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3