// Define a Person class class Person { constructor(nmFirst, nmLast, gender) { if (nmFirst == null || nmFirst == '') { throw ('First Name missing. Person not created.'); } if (nmLast == null || nmLast == '') { throw ('Last Name missing. Person not created.'); } if (gender == null || gender == '') { throw ('Gender missing. Person not created.'); } if (gender == "M" || gender == "F") { // instantiate Person this.nmFirst = nmFirst; this.nmLast = nmLast; this.gender = gender; this.isSovereign = true; this.imageOf = 'I AM'; this.grade = null; } else { throw ('Gender invalid, please pass M for male, or F for female. Person not created.'); } } getName() { console.log(`Name: ${this.nmFirst} ${this.nmLast}`); } getImage() { console.log(`Image of: ${this.imageOf}`); } getSovereign() { console.log(`Sovereign: ${this.isSovereign}`); } getGender { console.log(`Gender: ${this.gender}`); } getCity{ console.log(`City: ${this.city}`); } getState{ console.log(`State: ${this.state}`); } getGrade() { console.log(`Grade: ${this.grade}`); } setCity(city) { this.city = city; } setState(state) { this.state = state; } setGrade(grade) { this.grade = grade; } } // create Tom let personTomTestor = new Person('Tom', 'Testor', 'M'); // set location and grade personTomTestor.setGrade(3.5); personTomTestor.setCity('Wake Forest'); personTomTestor.setState('NC'); // get attributes of Tom personTomTestor.getName(); // Tom Testor personTomTestor.getImage(); // I AM personTomTestor.getSovereign(); // true personTomTestor.getGender(); // M personTomTestor.getCity(); // Wake Forest personTomTestor.getState(); // NC personTomTestor.getGrade(); // 3.5