There's no overhead unless the types are different. From the ECMAScript specification:
For the 'abstract equality comparison algorithm' (==) [11.9.3] 1. if Type(x) is different from Type(y), go to step 14. For the 'strict equality comparison algorithm' (===) [11.9.3] 1. if Type(x) is different from Type(y), return false. Steps 2-13 of both algorithms are exactly the same, so if the types match then there's no difference in the execution of each algorithm, and no overhead for the abstract algorithm. --rob On 8/2/07, Terry B <[EMAIL PROTECTED]> wrote: > > > known about this for awhile but since we are on the topic... there > has to be some over head of using == and !=.... does anyone know for > sure the impact of the overhead... and does it matter of the type.... > > > On Aug 2, 6:21 am, "Ian Struble" <[EMAIL PROTECTED]> wrote: > > !== and === are identity operators. It is a good idea to use them > > instead of the equality operators (!= and ==) unless you know why you > > would want to use equality (and the possible type coercion) over > > identity. Probably the biggest gotcha with equality is with falsy > > values (false, 0, undefined, ""/empty string, null and NaN). The > > truthy / falsy issue is probably what bit you Rob. > > > > It may be worth reading a bit of Douglas Crockford's ideas about > > javascript if you are trying to figure out identity and equality > > operators: > > > > http://javascript.crockford.com/code.html > > > > And here is something about truthy and falsy: > > > > http://developer.mozilla.org/en/docs/A_re-introduction_to_JavaScript#. > .. > > > > Ian > > > > On 8/2/07, Rob Desbois <[EMAIL PROTECTED]> wrote: > > > > > I had a discussion on the use of the === and !== operators recently on > this > > > list, my opinion was, and still is, that unless you explicitly WANT to > allow > > > type conversion, you should be using these. Only use == and != if you > really > > > want type conversion. > > > > > It's bitten me once, although I can't for the life of me remember how, > but > > > it involved lots of in-depth debugging and head-scratching to find the > > > problem. I'm more wary now and think that these operators are the way > to go. > > > > > --rob > > > > > On 8/2/07, Sam Collett <[EMAIL PROTECTED]> wrote: > > > > > > I don't think many actually use !== (and when you would want to use > > > > it) and many sites that show usage of operators don't cover !== (but > > > > do have ===). > > > > > > 3 != '3' false > > > > 3 !== '3' true > > > > 3 == '3' true > > > > 3 === '3' false > > > > > > On Aug 1, 9:33 pm, "Michael Geary" <[EMAIL PROTECTED]> wrote: > > > > > > I...cannot figure how what the heck === is. > > > > > > > I see that Jake answered your question, but just for next time... > > > > > > > You may have tried a Google search for "javascript ===" and been > > > > > disappointed to find it returned no useful results (because Google > seems > > > to > > > > > ignore the === in the search). > > > > > > > The key thing to know is that ===, like most special symbols in > > > JavaScript > > > > > such as + and -, is an operator. Now you can do a more productive > Google > > > > > search: > > > > > > >http://www.google.com/search?q=javascript+operators > > > > > > > This will help when you run into !== and wonder what the heck > *that* one > > > is. > > > > > :-) > > > > > > > -Mike > > > > > -- > > > Rob Desbois > > > Eml: [EMAIL PROTECTED] > > > Tel: 01452 760631 > > > Mob: 07946 705987 > > > "There's a whale there's a whale there's a whale fish" he cried, and > the > > > whale was in full view. > > > ...Then ooh welcome. Ahhh. Ooh mug welcome. > > -- Rob Desbois Eml: [EMAIL PROTECTED] Tel: 01452 760631 Mob: 07946 705987 "There's a whale there's a whale there's a whale fish" he cried, and the whale was in full view. ...Then ooh welcome. Ahhh. Ooh mug welcome.