Shorhand для a = (a == val1)? нуль: val1;

Любые идеи по поводу выражения, чтобы сделать его еще короче:

a = (a == val1) ? null : val1;

Логика этого выражения (если важно) на самом деле такова:

сделать его расширенным (среди прочего), если на него нажали, а не развернуло ДА. И если он развернут УЖЕ и просто нажал, затем закройте его (затем установите на ноль). Другими словами, отклонение настроек a как val1 только если он уже установлен val1 и заменить его на ноль (изменить с открытого на закрытое).

1 ответ

Решение

Вы могли бы сделать a = !a && val1 если вы не против переключения между false и val1.

Это основано на поведении && оператор в JavaScript: если первый операнд истинен && Оператор назначает второй операнд, иначе он возвращает первый операнд.

Обратите внимание: это делает ваш код более трудным для чтения. Если вы хотите, чтобы это имело смысл для другого разработчика, вам нужно добавить комментарий, объясняющий, что делает эта строка.

Другие вопросы по тегам