Кажется, что
if (typeof a == 'undefined') {
a = 0;
}
и
(typeof a != 'undefined') || (a = 0)
имеет тот же эффект в Javascript.
Мне действительно нравится второй, потому что это короткий, один строковый код, но является ли это законным, а перекрестный браузер действителен? Я имею в виду, что jslint говорит, что у него есть ошибки. Должен ли я использовать его без проблем?