मैं अपने वेतन वृद्धि ऑपरेटर को 50 हिट करने के बाद +10 जोड़ना बंद करने की कोशिश कर रहा हूं और मैं इस पर स्टम्प्ड हूं कि इसे अपने फ़ंक्शन में कैसे स्थापित किया जाए।

class Vampire {
  constructor(name, otherPet){
    this.name = name;
    this.pet = otherPet || "bat";
    this.thirsty = true;
    this.ouncesDrank = 0;
  }
  drink(ouncesDrank){
    this.thirsty = false;
    this.ouncesDrank += 10;
    if(ouncesDrank >= 50){
      return 'I\'m too full to drink anymore!';
    }
  }

};

यह फ़ंक्शन के संबंध में परीक्षण फ़ाइल सामग्री है:

it('should be full after drinking 50 ounces', function() {
    var vampire = new Vampire('Javi');

    vampire.drink();

    assert.equal(vampire.ouncesDrank, 10);

    vampire.drink();

    assert.equal(vampire.ouncesDrank, 20);

    vampire.drink();

    assert.equal(vampire.ouncesDrank, 30);

    vampire.drink();

    assert.equal(vampire.ouncesDrank, 40);

    vampire.drink();

    assert.equal(vampire.ouncesDrank, 50);

    vampire.drink();

    assert.equal(vampire.ouncesDrank, 50);

    assert.equal(vampire.drink(), 'I\'m too full to drink anymore!');
  });
});

यह मेरा त्रुटि संदेश है:

1 विफल

  1. पिशाच 50 औंस पीने के बाद भरा होना चाहिए:

    अभिकथन त्रुटि: अपेक्षित ६० से बराबर ५०

    • अपेक्षित - वास्तविक

    -60 +50

0
Chez G 31 अगस्त 2021, 23:44

2 जवाब

सबसे बढ़िया उत्तर

आपको पहले जांच करनी चाहिए, और ठीक होने पर ही जोड़ दें।

दूसरे, आप एक वैश्विक चर को if स्थिति में संदर्भित कर रहे हैं, क्योंकि आप this. उपसर्ग भूल गए हैं

तो बदलें:

    this.ouncesDrank += 10;
    if(ouncesDrank >= 50){
      return 'I\'m too full to drink anymore!';
    }

प्रति

    if(this.ouncesDrank >= 50){
      return 'I\'m too full to drink anymore!';
    }
    this.ouncesDrank += 10;
1
trincot 1 सितंबर 2021, 00:01

आप drink फ़ंक्शन में कुछ भी पास नहीं कर रहे हैं, इसलिए औंसड्रिंक हमेशा अपरिभाषित होता है।

  drink(){
    this.thirsty = false;
    // change ouncesDrank to this.ouncesDrank
    if (this.ouncesDrank >= 50){
      return 'I\'m too full to drink anymore!';
    }
    this.ouncesDrank += 10;
  }
0
Matt Aft 1 सितंबर 2021, 00:01