🔸getter/setter

JSclassdefinition ⟩ getters/setters

class User {

    constructor(name) {
        this.name = name;        // ⭐ invokes "setter"❗
    }

    // ⭐ getter: access `this.name`
    get name() {
        return this._name;
    }

    // ⭐ setter: set `this.name` (this.name = ...)
    set name(value) {
        
        // guard length >= 4
        if (value.length < 4) {
            log("name too short."); return;
        }
        
        this._name = value;    // private property
    }
    
}

// test code
let user = new User('Mary');

// ⭐ invokes "setter": 
user.name = 'Joe';             // "name too short."

// ⭐ invokes "getter": 
log(user.name);                // "Mary"

Archive

Last updated

Was this helpful?