You can use Object.defineProperty.
Here is an example:
function DateObject(time) {
this._date = new Date(time);
}
Object.defineProperty(DateObject, "now", {
get: function () {
return new DateObject(Date.now());
}
});
Object.defineProperty(DateObject.prototype, "time", {
get: function () {
return this._date.getTime();
}
});
Then each time you refer to this property, it will be equal to the result of evaluating the function get:
var d = DateObject.now;
d.time;
, now DateObject. . time, , DateObject.
. enumerable configurable Object.defineProperty. .