|
From: R.A. W. <em...@ry...> - 2006-04-13 05:22:19
|
The difference between == and === can be hard to infer with ActionScript. The following test output might be helpful to some who are still wondering what's up with equals-equals and equals-equals-equals: Assert Same (same value, same identity): true: (1 === 1) for Number true: (true === true) for Boolean true: (1 === 1) for String true: (foo,bar === foo,bar) for Array true: ([object Object] === [object Object]) for Object ---------- Assert Same (same value, different identity): true: (1 === 1) for Number true: (true === true) for Boolean true: (1 === 1) for String false: (foo,bar === foo,bar) for Array false: ([object Object] === [object Object]) for Object ---------- Assert Same (same value, different type): false: (1 === 1) for Number vs String false: (true === 1) for Boolean vs Number false: (1 === true) for String vs Boolean false: (0 === 0) for Number vs String false: (false === 0) for Boolean vs Number false: (0 === false) for String vs Boolean ---------- Assert Equals (same value, same identity): true: (1 == 1) for Number true: (true == true) for Boolean true: (1 == 1) for String true: (foo,bar == foo,bar) for Array true: ([object Object] == [object Object]) for Object ---------- Assert Equals (same value, different identity): true: (1 == 1) for Number true: (true == true) for Boolean true: (1 == 1) for String false: (foo,bar == foo,bar) for Array false: ([object Object] === [object Object]) for Object ---------- Assert Equals (same value, different type): true: (1 == 1) for Number vs String true: (true == 1) for Boolean vs Number true: (1 == true) for String vs Boolean true: (0 == 0) for Number vs String true: (false == 0) for Boolean vs Number true: (0 == false) for String vs Boolean ---------- Assert Same (different identity, same value, stringified): true: (foo,bar === foo,bar) for Array.toString() true: ([object Object] === [object Object]) for Object.toString() ---------- Assert Equals (different identity, same value, stringified): true: (foo,bar == foo,bar) for Array.toString() true: ([object Object] == [object Object]) for Object.toString() -rw Luke Bayes wrote: > I'm not looking at the source right now, but I believe that in our case, > we'll want to use the === operator for assertSame... > > Right? > > > Luke |