Felix Riesterer: Instanznamen in Methode der Klasse ermitteln

Beitrag lesen

Lieber snorri,

// eine Instanz der Klasse:

var testInstanz = new testKlasse();
testInstanz.meinName();


>   
> Gibt es nun eine Möglichkeit, innerhalb der Methode "meinName" den Namen der Instanz zu erhalten (hier also "testInstanz")  
  
nein. Der Name "testInstanz" ist ein Variablenname. Dieser gilt auf der Sprachebene beim Interpretieren Deines Quellcodes. Das Objekt, welches bei der Ausführung Deines Programmes erstellt und durch ihn referenziert wird, kennt ihn nicht da es auf Programmebene keine Variablennamen mehr gibt, sondern nur noch Bytecode. Du könntest aber dem Objekt eine Eigenschaft "name" verleihen, welche den Namen der im Quellcode verwendeten Variablen trägt (wozu auch immer das gut sein soll):  
  
~~~javascript
var testInstanz = new testKlasse();  
testKlasse.name = "testInstanz";

Deine Methode "meinName" müsste dann genau diese Eigenschaft ausgeben können.

Warum glaubst Du eigentlich, den Variablennamen im Objekt selbst wissen zu müssen? Für mich riecht das nach einem knusprigen Denkfehler im Applikationsdesign...

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)