Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #8192

Re: Object-Eigenschaften auslesen

Message-ID <2329119.96fDOHNxE3@PointedEars.de> (permalink)
From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Organization PointedEars Software (PES)
Date 2011-11-10 11:32 +0100
Subject Re: Object-Eigenschaften auslesen
Newsgroups comp.lang.javascript
References <9i0bc3FbnmU1@mid.individual.net> <j9evuv$4c9$1@news.albasani.net>
Followup-To de.comp.lang.javascript

Followups directed to: de.comp.lang.javascript

Show all headers | View raw


Andreas Bergmaier wrote:

> Jörg Weule schrieb:
>> Selfhtml schreibt zur Definition von Objekten als Beispiel:
>>
>> function Farbe (R, G, B) {
>> this.R = R;
>> this.G = G;
>> this.B = B;
>> this.hex = "#";
>> }
>>
>> var hintergrund = new Farbe("E0", "FF", "E0");
> 
> Das hier ist ein Objekt, das mithilfe eines Konstruktors erstellt wurde.
> Wenn du  hintergrund instanceof Farbe überprüfst, kannst du davon
> ausgehen dass das Objekt die beschriebenen Eigenschaften hat.
> 
> Dein JSON-gelesenes Objekt hingegen ist "typlos".

Nein, es handelt sich auch um einen Wert vom Typ `Object' mit .[[Class]] === 
"[object Object]" und um eine `Object'-Instanz (.constructor == Object).

Bei dem oben von `hintergrund' referenzierten Objekt handelt es sich um 
einen Wert vom Typ `Object' mit .[[Class]] === "[object Object]", jedoch um 
eine `Farbe'-Instanz (.constructor == Farbe).

> Als Literal ließe es sich auch so schreiben:
>   var hintergrund = {R:"E0", G:"FF", B:"E0", hex:"#"};

Das ist nämlich äquivalent zu

  var hintergrund = new Object();
  hintergrund.R = "E0";
  hintergrund.G = "FF";
  hintergrund.B = "E0";
  hintergrund.hex = "#";

> Hier kommst du nur mit der for-in-Schleife weiter.

Was das Aufzählen der eigenen Eigenschaften betrifft, ja.
 
>> Wie kann ich die Eigenschaften-Namen "R", "G", "B" und "hex" des
>> Objektes Hintergrund ermitteln.
> 
> Einfach auslesen? Es gibt verschiedene Schreibweisen, an
> Objekteigenschaften zu kommen. Erstere kann man nur verwenden, wenn die
> Eigenschaftsnamen den Namenskonventionen entsprechen (z.B. keine
> Leerzeichen).

Genauer: Wenn es sich um einen *Bezeichner* (/Identifier/) handelt.

>   alert("Der Rotton ist "+hintergrund.R);
>   alert("Der Grünton ist "+hintergrund["G"]);

  window.alert(…);

oder 

  console.log(…);

F'up2 de.comp.lang.javascript


PointedEars
-- 
    realism:    HTML 4.01 Strict
    evangelism: XHTML 1.0 Strict
    madness:    XHTML 1.1 as application/xhtml+xml
                                                    -- Bjoern Hoehrmann

Back to comp.lang.javascript | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Object-Eigenschaften auslesen Jörg Weule <weule@7b5.de> - 2011-11-09 22:58 +0100
  Re: Object-Eigenschaften auslesen Andreas Bergmaier <andber93@web.de> - 2011-11-09 23:48 +0100
    Re: Object-Eigenschaften auslesen Jörg Weule <weule@7b5.de> - 2011-11-10 08:59 +0100
    Re: Object-Eigenschaften auslesen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-11-10 11:32 +0100
  Re: Object-Eigenschaften auslesen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-11-10 13:43 +0100

csiph-web