Home > OS >  NaN output in Javascript from a class function
NaN output in Javascript from a class function

Time:04-06

I need to solve the following problem:

Create class Intern with next fields: Name(String) Surname(String) laziness(number from 20 to 50) Curiosity (number from 0 to 100) Skill (number from 0 to 100) Irresponsibility (float number from 0.0 to 1.0) For this class create method that calculate “mark” for intern, that is calculated by formula(in the code) It looks simple, but when I run it, the output is NaN. Could somebody help please?

class Intern {
    constructor(name, surname, laziness, curiosity, skill, irresponsibility) {
        this.name = name
        this.surname = surname
        if (laziness <= 50 && laziness >= 20) {
            this.laziness = laziness
        } else {
            this.laziness = 0
        }

        if (curiosity <= 100 && curiosity >= 0) {
            this.curiosity = curiosity
        }
        if (skill <= 100 && skill >= 0) {
            this.skill = skill
        }
        if (irresponsibility <= 0 && irresponsibility >= 1) {
            this.irresponsibility = irresponsibility
        }
    }

    getMark() {
        let mark = (((this.skill   this.curiosity) * (1.5 - this.irresponsability)) / (this.laziness * 0.25));
        return mark
    }
}

CodePudding user response:

You've misspelled the irresponsibility variable in the getMark() method, and the if statement in your constructor for it will never be true:

if (irresponsibility <=0 && irresponsibility >=1)

I think you were meaning to say:

if (irresponsibility >=0 && irresponsibility >=1)
  • Related