Использование короткого замыкания && как оператора if?

Я видел эту строку в исходном коде jQuery.form.js :

g && $.event.trigger("ajaxComplete", [xhr, s]);

Моя первая мысль была wtf ??

Следующей моей мыслью было, я не могу решить, это уродливо или элегантно.

Я ' Я ни в коем случае не гуру Javascript, поэтому мой вопрос двоякий. Сначала я хочу подтвердить, что правильно понимаю. Эквивалентна ли приведенная выше строка:

if (g) {
    $.event.trigger("ajaxComplete", [xhr, s]);
}

И, во-вторых, является ли это общепринятой практикой в ​​Javascript? С одной стороны, он лаконичен, но с другой может быть немного загадочным, если вы его раньше не видели.

28
задан Davy8 19 February 2011 в 05:09
поделиться