JavaScript Propiedades de accesorios (obtener y configurar)


Ejemplo

5

Trate una propiedad como una combinación de dos funciones, una para obtener el valor y otra para establecer el valor en ella.

La propiedad get del descriptor de propiedad es una función que se llamará para recuperar el valor de la propiedad.

La propiedad set es también una función, se llamará cuando la propiedad tenga asignado un valor y el nuevo valor se pasará como argumento.

No puede asignar un value o writable a un descriptor que tiene get o 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"