2010-08-13 8 views

Antwort

42

UPDATE: Verwenden Sie die Methode hasOwnProperty, wie Gary Chambers empfiehlt. Die folgende Lösung funktioniert, aber es wird empfohlen, hasOwnProperty zu verwenden.

if ('field' in obj) { 
} 
+0

Beachten Sie, dass genau die gleiche Art und Weise Sie die Existenz eines Schlüssels in einem assoziativen Array überprüfen (dies, weil in der Regel ist Objekte * * sind ** tatsächlich assoziative Arrays) –

+0

Ja, es ist wie in Python. Ich wusste es nicht. – Khoi

+0

Einige Linters werden sich über diese Syntax beschweren. Es ist sicherer, hasOwnProperty zu verwenden, wie von @GaryChambers vorgeschlagen – Jayd

59

Dies ignoriert Attribute, die über die Prototypkette weitergegeben werden.

if(obj.hasOwnProperty('field')) 
{ 
    // Do something 
} 
1

Zusätzlich zu den oben genannten, können Sie wie folgt verwenden:

if(obj.myProperty !== undefined) { 
} 
Verwandte Themen