1UnitedPower: Setzen von unbekannten Properties behandeln

Beitrag lesen

Hallo,

Für bekannte Eigenschaften/Properties von Objekten lassen sich ja entsprechende Getter/Setter definieren.

Frage: Ist das auch für unbekannte/neue Eigenschaften in JS realisierbar.

Was meinst du mit unbekannten Eigenschaften?
Neue Properties lassen sich recht einfach so erzeugen:

  
    var o = {}; // Creates a new object  
  
    // Example of an object property added with defineProperty with a data property descriptor  
    Object.defineProperty(o, "a", {value : 37,  
                                   writable : true,  
                                   enumerable : true,  
                                   configurable : true});  
    // 'a' property exists in the o object and its value is 37  
  
    // Example of an object property added with defineProperty with an accessor property descriptor  
    var bValue;  
    Object.defineProperty(o, "b", {get : function(){ return bValue; },  
                                   set : function(newValue){ bValue = newValue; },  
                                   enumerable : true,  
                                   configurable : true});  
    o.b = 38;  
    // 'b' property exists in the o object and its value is 38  
    // The value of o.b is now always identical to bValue, unless o.b is redefined  
  
    // You cannot try to mix both :  
    Object.defineProperty(o, "conflict", { value: 0x9f91102,  
                                           get: function() { return 0xdeadbeef; } });  
    // throws a TypeError: value appears only in data descriptors, get appears only in accessor descriptors  

(Quelle: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperty)

Grüße
-1UP