Логическое И && принимает значение true в единственном случае – если оба операнда true.
a && b проверяет по очереди: сначала, приводится ли к значению true первый операнд, a? Если нет, то дальше проверять нет смысла и выражение возвращает первый операнд, а.
Если же a не пустой и при переводе в логическое true | false даёт таки true, то так же проверяется второе выражение, b.
В вашем примере сначала проверяется, что там в jj. Если пустота, то более ничего не делается. Если же там, например, функция, то надо проверить и второй операнд. Для этого надо выполнить функцию jj(false).
Таким образом, проверяется, не пусто ли jj, и если не пусто, то вызывается функция jj(false).