Interesting, I've never seen that one, Alex... nicely expressive.

So, in summary, one can test the existent of a property with:

if (myObject.hasOwnProperty("property")) ...
if (myObject.property) ...
if (myObject["property"]) ...
if ("property" in myObject) ...

The first one is a function returning a Boolean. Obvious.

The second and third ones return the actual values, which implicitly convert
to true (for everything but null and "", which implicitly convert to false),
or if the property doesn't exist returns undefined, which implicitly
converts to false.

The fourth one... well, that's basically identical to the first one where it
returns a Boolean.

Troy.


On 5/24/07, Alex Harui <[EMAIL PROTECTED]> wrote:

  if ("blah" in Object)

Should also work


-----Original Message-----
From: [email protected] <flexcoders%40yahoogroups.com> [mailto:
[email protected] <flexcoders%40yahoogroups.com>] On
Behalf Of Tom Chiverton
Sent: Thursday, May 24, 2007 6:53 AM
To: [email protected] <flexcoders%40yahoogroups.com>
Subject: Re: [flexcoders] Checking if an Object has as property/element

On Thursday 24 May 2007, Christopher Olsen wrote:
> If i do if Object.blah == null i get an error because blah doesn't
exist

hasOwnProperty(), or just if (Object.blah)

--
Tom Chiverton
Helping to globally maintain error-free solutions
on: http://thefalken.livejournal.com

****************************************************

This email is sent for and on behalf of Halliwells LLP.

Halliwells LLP is a limited liability partnership registered in England
and Wales under registered number OC307980 whose registered office
address is at St James's Court Brown Street Manchester M2 2JF. A list
of members is available for inspection at the registered office. Any
reference to a partner in relation to Halliwells LLP means a member of
Halliwells LLP. Regulated by the Law Society.

CONFIDENTIALITY

This email is intended only for the use of the addressee named above and
may be confidential or legally privileged. If you are not the addressee
you must not read it and must not use any information contained in nor
copy it nor inform any person other than Halliwells LLP or the addressee
of its existence or contents. If you have received this email in error
please delete it and notify Halliwells LLP IT Department on 0870 365
8008.

For more information about Halliwells LLP visit www.halliwells.com.

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives:
http://www.mail-archive.com/flexcoders%40yahoogroups.com
Yahoo! Groups Links

Reply via email to