JavaScript Proprietà Accesor (ottieni e imposta)


Esempio

5

Tratta una proprietà come una combinazione di due funzioni, una per ricavarne il valore e un'altra per impostarne il valore.

La proprietà get del descrittore di proprietà è una funzione che verrà chiamata per recuperare il valore dalla proprietà.

La proprietà set è anche una funzione, verrà chiamata quando alla proprietà è stato assegnato un valore e il nuovo valore verrà passato come argomento.

Non è possibile assegnare un value o writable a un descrittore che ha 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"