Object - (Accessors|Get|Getter) Methods in javascript of property
Since ECMAScript 5.
Example:
var user = {
private_name: '',
get name() { console.log('name was accessed'); return this.private_name; },
set name(name) { console.log('name was set'); this.private_name = name; }
};
user.name = 'nico';
console.log(user.name);
const user = { private_name: '' };
Object.defineProperty(user, 'name', {
get: function() { console.log('name was accessed'); return this.private_name; },
set: function(name) { console.log('name was set'); this.private_name = name; }
});
user.name = 'nico';
console.log(user.name);
The __defineGetter__ (deprecated): Ref
Example:
window.navigator.sniffed = false;
const userAgent = window.navigator.userAgent;
window.navigator.__defineGetter__('userAgent', function() {
window.navigator.sniffed = true;
return userAgent;
});
console.log("The userAgent property was read: "+window.navigator.sniffed);
console.log("The user Agent is "+window.navigator.userAgent);
console.log("The userAgent property was read: "+window.navigator.sniffed);
delete object.setter
delete object.getter