It seems that:
if (typeof a == \'undefined\') { a = 0; }
and
(typeof a != \'undefined\') || (a = 0)
h
Moreover I suppose it would impact performances because
(typeof a != 'undefined') || (a = 0)
is composed of two test (even if we don't care about the second one).
Whereas
if (typeof a == 'undefined') { a = 0; }
contains only one test