Объединение нескольких заявлений с использованием Commas vs Semi colons
Во время работы с миниатюрным JQuery я заметил несколько операторов, конкатенированных запятыми.
Пример
event.preventDefault();
event.stopPropagation();
jQuery.event.trigger( event, data, this[0] );
return event.result;
уменьшено до:
c.preventDefault(),c.stopPropagation(),d.event.trigger(c,b,this[0]);return c.result
Я видел аналогичный вопрос: Определение переменной JavaScript: запятая или точка с запятой
Но в этом случае, очевидно, нет преимуществ по производительности или сокращения символов.
Могу ли я предположить, что это просто вопрос выбора для minification script?
Не было бы безопаснее идти с точкой с запятой в первую очередь.. и предотвратить накладные расходы логики, которые избегали конкатенации запятых в случае оператора return.
Ответы
Ответ 1
Minifiers имеют тенденцию использовать запятые, где это возможно, потому что это позволяет сократить количество операторов выражений типа if
. Например:
if (x) {
y = 10;
z = 20;
}
Вышеуказанное может быть уменьшено с помощью запятой, чтобы удалить фигурные скобки (поскольку они являются необязательными, если тело оператора if
является только одним утверждением):
if (x) y = 10, z = 20;
В таких случаях это приводит к сокращению кода, к которому стремится minifiers.