In einem "Basis" -Objekt ist es einfach, eine "Get" -Eigenschaft zu definieren.JS verwenden get in Konstruktor
var anObject = {
get aProperty() {
return "abc";
}
}
document.write(anObject.aProperty); //abc
Ich finde eine Lösung, die eine bekommen Eigenschaft in einer Konstruktor Funktion hinzuzufügen.
var BasicConstructor = function()
{
Object.defineProperty(this, "aProperty", {get : function(){ return "abc"; }});
}
var anOtherObject = new BasicConstructor();
document.write(anOtherObject.aProperty); //abc
Ist sie eine einfachere und lesbare Lösung? Ich versuche eine Lösung wie die folgende ohne Erfolg.
var BasicConstructor = function()
{
this.aProperty = get()
{
return "abc";
}
}
var anOtherObject = new BasicConstructor();
document.write(anOtherObject.aProperty); //abc
ich will nur um darauf hinzuweisen, dass 'aProperty()' eine "neue" Notation ist. 'Object.defineProperty' ist das" alte ", was bedeutet, dass es von Browsern mehr unterstützt wird. –
@NiettheDarkAbsol: Es gibt nichts Neues an dieser Notation. FF unterstützt es seit 10 Jahren jetzt :-) – Bergi
@NiettheDarkAbsol Sis ('here eineEigenschaft()') da von ES5 –