Challenge: Implement Getters and Setters in a Class
Task
You are working within a Car
class that has a private #mileage
property. Your task is to define getters and setters for this property to control how it’s accessed and modified.
- Define Getter for Mileage: Define a getter for the
mileage
property to retrieve the current mileage; - Define Setter for Mileage with Validation: Define a setter for the
mileage
property that accepts a new mileage value. This setter should:- Only allow updating if the new mileage is greater than the current mileage (mileage can only increase);
- If the new mileage is invalid, log
"Invalid mileage update"
and do not change the current mileage.
class Car { #mileage = 1000; // Initial private mileage // Getter for mileage _____ mileage() { return this.#_____; } // Setter for mileage with validation _____ mileage(newMileage) { _____ (_____ > this.#_____) { this.#_____ = newMileage; } _____ { console.log(_____); } } } // Testing const car1 = new Car(); console.log(car1.mileage); // Expected: 1000 car1.mileage = 1500; // Update mileage to 1500 console.log(car1.mileage); // Expected: 1500 car1.mileage = 900; // Attempt invalid mileage update, expected: Invalid mileage update
Bedankt voor je feedback!