JavaScript Propriétés de l'accesseur (get et set)


Exemple

5

Traitez une propriété comme une combinaison de deux fonctions, l'une pour en obtenir la valeur, et l'autre pour y définir la valeur.

La propriété get du descripteur de propriété est une fonction qui sera appelée pour récupérer la valeur de la propriété.

La propriété set est également une fonction, elle sera appelée lorsque la propriété a reçu une valeur et la nouvelle valeur sera transmise en tant qu'argument.

Vous ne pouvez pas affecter une value ou writable à un descripteur qui a get ou set

var person = { name: "John", surname: "Doe"};
Object.defineProperty(person, 'fullName', { 
    get: function () { 
        return this.name + " " + this.surname;
    },
    set: function (value) {
        [this.name, this.surname] = value.split(" ");
    }
});

console.log(person.fullName); // -> "John Doe"

person.surname = "Hill";
console.log(person.fullName); // -> "John Hill"

person.fullName = "Mary Jones";
console.log(person.name) // -> "Mary"