JQuery Скрыть/показать, если условное выражение

Я делаю это много:

var condition = true;
if (condition === true) {
    $('#condition_dependancy').show();
} else {
    $('#condition_dependancy').hide();
}

Может ли это быть чище синтаксически? Я мог бы написать свой собственный:

$('#condition_dependancy').hidden(condition);

Но мне просто интересно, есть ли что-то встраиваемое.

Ответ 1

Вы можете использовать toggle:

var condition = true;
$('#condition_dependancy').toggle(condition);

Боковое примечание: не используйте такие вещи, как

if (condition === true)

если есть вероятность, что condition будет иметь другое "правное" значение *, и вы хотите, чтобы выражение было истинным, если оно точно true, а не просто правдиво. В общем случае == (boolean) и (в JavaScript) === (boolean) является просто шумом (хотя в JavaScript есть крайние случаи для использования версии ===).

Предпочитают:

if (condition)

и (для случая == false/=== false):

if (!condition)

* "правдивость": в JavaScript типы могут быть принудительно выражены выражениями. В любом случае ожидается логическое значение, если вы используете что-то, что не является логическим, оно принудительно превратилось в одно. Вещи, которые принуждают к true, называются "правными" значениями; вещи, которые принуждают к false, называются "ложными" значениями. Значения false 0, "", NaN, undefined, null и, конечно, false. Все остальное правдиво.

Ответ 2

Использование toggle():

$('#condition_dependancy').toggle(condition);