@josh: it works superbly. Thanks a lot for this elegant solution !
On Thu, Feb 19, 2009 at 12:44 AM, Alexandre Plennevaux <aplennev...@gmail.com> wrote: > thanks guys, so if i understand correctly, an unset property, if > tested, returns "false". Correct ? > > On Wed, Feb 18, 2009 at 11:35 PM, mkmanning <michaell...@gmail.com> wrote: >> >> The method that Josh posted is (in some people's opinion) the >> preferred method for assigning values, and is sometimes called the >> 'default pattern' for obvious reasons (the other common form is the >> guard pattern &&). It, along with the ternary, is usually more >> succinct than if/else, the latter being better suited to logic flow. >> >> On Feb 18, 1:24 pm, Ricardo Tomasi <ricardob...@gmail.com> wrote: >>> or simply if (!Obj.sortby) Obj.sortby = 'time'; it's a bit more >>> efficient. All of undefined, null, 0 or "" will evaluate to false, >>> there's no need to check for each of them. >>> >>> Anyway, Alexandre, the ternary you posted should also work, there is >>> probably something else wrong in your code. >>> >>> - ricardo >>> >>> On Feb 18, 3:52 pm, "Josh Nathanson" <joshnathan...@gmail.com> wrote: >>> >>> > I think this might work, give it a try: >>> >>> > Obj.sortby = Obj.sortby || 'time'; >>> >>> > -- Josh >>> >>> > -----Original Message----- >>> > From: jquery-en@googlegroups.com [mailto:jquery...@googlegroups.com] On >>> > Behalf Of Alexandre Plennevaux >>> > Sent: Wednesday, February 18, 2009 9:07 AM >>> > To: Jquery-en >>> > Subject: [jQuery] default value of an object's property >>> >>> > hi there, >>> >>> > a quick question: i'm using an object to pass a series of variables. >>> > Sometimes, i test for a specific property, which might not exist. >>> > I can't seem to find the right way, i tried >>> >>> > Obj.sortby = (typeof Obj.sortby == 'undefined' || Obj.sortby=='' >>> > ||Obj.sortby == null) ? 'time' : Obj.sortby; >>> >>> > but everytime that property "sortby" hasn't been set, firebug returns >>> > it as "null" >>> >>> > can you clear that up for me? >>> >>> > Thanks a lot! >>> >>> > Alexandre >