hotti: OOP-Propertys mit Accessor

Beitrag lesen

hi,

/**

  • @param {object} obj an object to set its values
  • @param {object} data an object containing the values
  • @param {string[]} names an array containing allowed names
    */
    function setData(obj, data, names) {
    if (data)
    for (var i = 0; i < names.length; i++) {
    if (data.hasOwnProperty(names[i]))
    obj[names[i]] = data[names[i]];
    }
    }
  
Meine Gedanken zu Getter/Setter habe ich [hier](http://rolfrost.de/getter.html) mal aufgeschrieben. Excerpt: Grundsätzlich spricht nichts dagegen, einen Getter so zu benennen, wie ein Attribut namentlich lautet. Ein Setter jedoch, setzt nicht irgendein Attribut schlechthin, sondern verändert die gesamte Instanz! Setter-Namen like setAttributeName() sind irreführend, weil ein Setter nicht nur ein Attribut ändert sondern die Instanz selbst, wobei diese Veränderungen nicht nur ein sondern auch mehrere Attribute betreffen können (Beispiel siehe Link).  
  
Es ist ein praktisches Beispiel, weil es mir erstrangig gar nicht darum ging, einen Artikel darüber zu schreiben, sondern weil mir diese Thematik erst beim Modernisieren einer alten Perl-Klasse so richtig bewusst geworden ist (mehr Komfort bei weniger Code).  
  
Ob sich das sinngemäß auch auf JS anwenden lässt kann ich z.Z. noch nicht manifestieren, aber ich bin dran ;)  
  
MfG