function Ninja() { let _skillLevel = 0 Object.defineProperty(this, "skillLevel", { get: () => _skillLevel, set: value => { if(!Number.isInteger(value)) { throw new TypeError("Skill level should be a number") } _skillLevel = value } }) } const ninja = new Ninja() console.log(ninja.skillLevel) ninja.skillLevel = 10 console.log(ninja.skillLevel) try { ninja.skillLevel = "Great" console.log("should not be here") } catch(e) { console.log("Setting a non_integer value throw an exception") }