"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > JavaScript의 섀도잉

JavaScript의 섀도잉

2024-11-08에 게시됨
검색:557

개요

부모 클래스에 속한 메서드를 자식 클래스에서 재정의할 수 있도록 만드는 JavaScript의 특수 개념에 그림자를 적용합니다.

오픈 월드 팬이 아닌 이상 추측하기 매우 쉬운 21세기의 가장 사랑받는 게임인 GTA와 Red Dead Redemption을 살펴보겠습니다.

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에서 복제되었습니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3