親クラスに属するメソッドを子クラスで再定義できるようにする、JavaScript の特別な概念におけるシャドウイング。
オープンワールドのバンガーのファンでない限り、簡単に推測できる 21 世紀の人気ゲームの 2 つ、GTA とレッド・デッド・リデンプションを取り上げましょう。
トピックに戻りますが、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 オブジェクトに追加されることも保証します。
ROLE_PLAYER は true の値で野生のオープンワールドに乗り込んだようです。遭遇するであろうバグに対する準備ができていることを願っています。結局のところ、これはオープンワールド ゲームなのです!
以上がJavaScript でのシャドーイングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。