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